iOS-Xcode中Developer Tool功能的总结

Xcode Instruments性能分析工具 Xcode Instruments 是一款功能强大的性能分析工具,能够帮助开发者深入了解 iOS 和 macOS 应用的性能表现。尽管它在使用上存在一些限制,如仅限于 macOS 和证书管理繁琐等,但其提供的详细函数耗时堆栈和内存分配分析功能,使其成为开发者进行性能调试和优化的重要工具。通过合理使用 Instruments,开发者可以有效识别和解决应用中的性能瓶颈,从而提升用户体验。 阅读详情

有开发几年的人也很少都用这些工具的,这里整理下Xcode菜单栏里面Open Developer Tool的一些功能。

 

 

一、Instruments工具

Instruments工具是iOS性能优化工具。对于程序员来说,程序代码性能是个老生常谈的话题,随着程序项目的不断增加功能和需求,不得不随时考虑到调试和优化代码,那么根据运用Xcode自带的监控调试工具就可以很好的解决这些问题,防范于未然,Instruments工具提供了很多功能,这里只介绍常用的部分,其他剩下的部分可以私下了解。

1.Core Animation:离屏渲染,图层混合等GPU耗时;

2.Energy Log:耗电检测工具;

3.Leaks:内存检测,内存泄漏检测工具;

4.Network:流量检测工具;

5.Time Profiler:CPU分析工具分析代码的执行时间。

使用Xcode > Open Developer Tool > Instruments 打开方式,还有一种是通过Xcode project打开instruments。这里举例的是打开Time Profiler的步骤。

(一)Core Animation动画渲染的使用:

Core Animation需要注意的一点是必须是在真机调试的情况下使用,用于调试离屏渲染、绘图、动画等操作。调试的时候需要注意以下几个选项的勾选:

"Color Blended Layers":图层混合 ,显示出被混合的图层Blended Layer(是用红色标注),Blended Layer是因为这些Layer是透明的,系统在渲染这些view时需要将该view和下层view混合后才能计算出该像素点的实际颜色,所以红色越少越好。

“Color Hits Green and Misses Red":光栅化,图层缓存。很多视图Layer由于Shadow、Mask、Gradient等原因渲染很高,因此UIKit提供API用于缓存这些Layer:[layer setShouldRasterize:YES],系统会将这些Layer缓存成Bitmap位图供渲染使用,如果失效时便丢弃这些Bitmap重新生成。所以红色越少越好,绿色越多越好。

"Color Copied images":图片颜色格式,标注应用在绘制的时候被Core Animation复制的图片。

"Color Non-Standard Surface Formats":不标准的表面颜色格式。

"Color Immediately":颜色刷新频率,Instruments在执行color-flush操作的时候,取消10毫秒的延时。

"Color Misaligned Images":图片大小,图片缩放MisalignedImage表示要绘制的点无法直接映射到频幕上的像素点,此时系统需要对相邻的像素点做anti-aliasing反锯齿计算,增加了图形负担,通常这种问题出在对某些View的Frame重新计算和设置时产生的。

"Color Offscreen-Rendered Yellow":离屏渲染,Offscreen-Rendering离屏渲染意思是iOS要显示一个视图时,需要先在后台用CPU计算出视图的Bitmap,再交给GPU做Onscreen-Rendering显示在屏幕上,因为显示一个视图需要两次计算,所以这种Offscreen-Rendering会导致app的图形性能下降。所以黄色越少越好。

"Color Compositing Fast-Path Blue":快速路径,标记由硬件绘制的路径。

"Flash Updated Regions":重绘的区域,重绘就是指使用Core Graphics绘制,绘制会损耗一定的性能,因此重绘区域应该越小越好。

(二)Energy Log耗电量检测的使用:

Energy Log耗电量检测,必须要真机调试才能使用。手机运行程序之后,双击打开Energy Log,然后直接点击左上角红色圆点按钮开启检测,然后在左侧菜单栏里面可以看到CPU活动的比例、网络活动的比例、亮度状态、手机睡眠状态、蓝牙连接状态、手机WiFi连接状态、GPS状态等这些能够消耗手机电量的组成部分,可以根据对应模块的数据来检测耗电量的情况,如图所示:

(三)Leaks内存调试的使用:

Leaks的一个进程占用的内存空间,包括5种数据区:
(1)BSS段:一般存放未初始化的全局变量;
(2)数据段:一般存放已初始化的全局变量;
(3)代码段:存放的是程序执行代码;
(4)堆:存放进程运行中被动态分配的内存段,如OC对象;
(5)栈:由编译器自动分配释放,存放函数参数,局部变量;

Leaks是iOS程序中用来检测内存泄漏的工具,根据Leaks可以帮助我们查找项目中的内存泄漏,防止程序内存耗费过大而被挂起。首先双击打开Leaks,点击左上角红色圆点按钮开始运行,并且在Details中选中CallTree选项,具体效果如下图所示:

接着程序运行,我们可以根据上边的进度条来查看内存变化的区域,Leaks工具会按照时间把所耗内存的大小,都以填曲线充图的形式展现,移动鼠标到曲线填充图的位置时,会直接显示出那一时刻所占用的内存大小。如果内存曲线填充图下方显示出红色叉号,则代表该处存在内存泄漏,可通过鼠标在填充图中圈画出该区域,这时下面的Call Tree就会打印出对应的函数堆栈调用以及所占内存大小的详细信息,双击就可进入到对应的代码区域来查看,如下图所示:

鼠标双击函数名称,可以进入到代码对应的具体位置,查看具体情况:

爆红的区域就是测试出来的异常情况的位置。

(四)Network网络检测的使用:

Network网络流量检测工具,双击打开Network,直接单击左上角击红色圆点按钮运行程序,在上面可以看到手机网络的输入输出大小的多少,用鼠标拦截住一块区域就可以查看这个区间是App发生的网络消耗还是其他进程发生的,还可查看网络请求的本地地址和服务地址、输入和输出的大小等信息,具体情况如下图所示:

上图红框中画出的一片消耗网络资源的地方,然后在Details中选择三个选项中的不同选项,第一个:Processes,表示查看网络进程,也就是APP和其他程序使用的流量的总大小;第二个:Connections,表示所有的访问网络请求的端口、输入输出的大小、本地地址、数据包的大小、往返的时间等信息;第三个:Interfaces,在使用者的角度查看当前手机的整体网络的使用情况,这里不区分线程,只区分网络使用类型WiFi或者流量。

1、第一个选项:Processes:

通过上图可以看到,分为两个部分:一部分是APP,另外一部分是其他的进程,分别显示的模块是:Process:进程名;Data In:请求数据大小;Packests In:请求数据包的大小;Data Out:发送数据的大小;Packets Out:发送数据包大小;Duplicate Data Recv:重传数据的大小;Out-of-Order Data:传输失败数据的大小;Retransmissions:网络重传的次数。

2、第二个选项:Connections:

这个模块,是把所有的网络请求发生的数据交互明细都打印出来了,然后可以根据打印的这些数据信息,查看详细情况,相对于第一个Processes选项,多出来了四个选项:Local:本地访问的地址;Remote:远程服务的地址;Shortest Roundtrip:最短往返的时间;Avg. Roundtrip:平均往返的时间。

3、第三个选项:Interfaces:

Interfaces主要展示的是手机网络使用情况,其中Interface:显示的是网络环境(是WiFi还是流量);Connections:显示的是总体连接次数;剩下的部分同上面两个部分表示的意思相同。

(五)Time Profiler,CPU分析工具分析代码的执行时间:

Time Profiler,时间分析工具,按照设定的时间间隔(默认1毫秒)来跟踪每一个线程的堆栈信息(stacktrace),通过对比时间间隔之间的堆栈状态,推算出某个方法执行的时间,会给出一个近似值。鼠标双击Time Profiler,进入到调试界面,单击左上角红色圆点按,便可以看到程序的时间消耗,如图所示:

分析上图会发现,这些信息只是显示到线程Runloop的耗时,并不能确定到具体的代码位置,那么就需要在设置菜单栏里面找到Call Tree选项中进行具体操作,默认情况下载Call Tree中只会勾选第二个选项,如下图所示需要勾选前五项才能定位到关键具体的代码位置:

那么介绍一下这前五项都代表的具体含义:

1.Separate by State:按状态分开做分析;

2.Separate by Thread:按线程分开做分析,线程分离这样才更容易发现那些消耗资源的问题线程,只有这样才能在调用路径中能够清楚看到占用CPU最大的线程。尤其是对于主线程,要处理所有的接口数据,一旦受到阻塞,程序必然会出现卡顿或停止响应的情况;

3.Invert Call Tree:反向的输出调用树,从上到下跟踪堆栈信息.这个选项可以把调用层次最深的方法显示在最上面,更方便容易找到最耗时的操作,快捷的看到方法调用路径最深方法占用CPU耗时,比如FuncX{FunY{FunZ}},选择该选项之后,堆栈以Z->X->Y把调用层级最深的C显示在最外面;

4.Hide System Libraries:隐藏系统库文件,勾选该选项后,耗时调用路径只会显示APP耗时的代码,也就是只显示自己的代码调用,注意有些代码耗时也会纳入系统层级,可以进行勾选前后对执行路径进行比对,效果会更好;

5.Flattern Recursion:拼合递归函数,将同一递归函数产生的多条堆栈(因为递归函数会调用自己)合并为一条,也就是每个堆栈跟踪一个条目。

 

二、Simulator模拟器

这个工具想必做iOS开发的是最先知道的吧,也没什么太多需要注意的地方,这里就简要介绍一下怎么打开使用就行了。手动打开Simulator模拟器,通过 Xcode->Open Developer Tool->iOS Simulator打开

下面介绍一下Simulator基本设置的方法

1.点击“Reset Content and Settings...”选项,相当于手机的恢复出厂设置,模拟器之前运行安装的所有APP都会被清除掉

2.在Hardware中打开“Keyboard”选项,把子菜单栏中不选择第二项,就把虚拟软键盘关掉了,然后就可以使用电脑的键盘了

3.直接把电脑中的图片拖入到模拟器中,图片就会存入到模拟器相册中,感觉这个功能很实用,可以试试

4.调整模拟器显示的比例大小

两种方法,第一种直接用快捷键调整模拟器显示的大小,快捷键:“command” +1、“command” +2、“command” +3、“command” +4、“command” +5;第二种方法直接在模拟器设置里面调整,如图所示:

5.修改定位,自定义位置,地图的定位

找到Debug中的Location中的第二个选项:“Custom Location...”,然后输入需要定位的经纬度即可修改成功,具体操作如下图所示:

6.设置模拟器的语言

打开模拟器,找到Settings(如果没有返回到模拟器的首页界面,使用快捷键:command+shift+h,可以直接进入首页,相当于home键),进入Settings界面之后,点击第一项“General”;进入General界面之后,选择“Language & Region”;进入Language & Region界面,然后选择“iPhone Language”;进入iPhone Language界面,根据情况选择对应的语言,选完之后点击右上角的“Done”按钮,会弹出一个弹框,选择“Change to ...”,然后稍等几十秒即可修改成功,具体操作如下图所示:

写到这里,Simulator模拟器常用的设置讲解到此结束,有哪位大牛想要补充的,可以指正,共同学习。

三、Simulator(Watch)模拟器

由于本人没有做过Apple Watch的开发,所以对于它的模拟器的设置也不很懂,只是运行打开过而已,我就把我知道的一些知识贴出来,仅供参考。

下面是Simulator(Watch)模拟器打开的效果图:

然后再分享一个Apple Watch应用对象的结构图:

然后就介绍完了,等啥时候涉足Apple Watch开发了,再分享更深的知识,如果有知道更多关于此方面的知识的大牛,可以交流指导。

四、Accessibility Inspector检测工具

Accessibility Inspector是Xcode系统自带的一款检测工具,用它来检测APP控件元素的层级结构,使用它可以快速地获取各个控件元素的层级,这样可以在UIAutomation里面实现相应的自动化。

使用Xcode > Open Developer Tool > Accessibility Inspector 打开,会弹出来“Accessibility Inspector” 操作界面,然后在模拟器上运行程序,然后在Accessibility Inspector选择具体操作,比如在检测对象栏里面,选择模拟器,然后在择Accessibility Inspector工具栏中的瞄准图标,然后单击图标会变成蓝色,然后鼠标轻移到模拟器窗口,即可看到APP界面的相关详细信息,具体如图所示:

然后介绍一下Accessibility Inspector检测工具的三部分模块,第一个模块,也就是主要运用到的,展示检测信息详情的,它和那个搜索按钮配合使用,具体如图所示:

第二个模块,Audit(审计)模块,目测不常用,所以只介绍怎么使用即可,具体如图所示:

第三模块,Settings模块,就是设置一下你检测时候需要的效果,比如分为四个组成选项:“Invert colors”、“Reduce transparency”、“Reduce motion”、“Font size”。

“Invert colors”:显示调节反转颜色,相当于黑暗模式;

“Reduce transparency”:降低透明度,也就是把磨砂透明效果关闭;

“Reduce motion”:减少动态效果,减少不必要的动画;

“Font size”:设置文字大小。

 

另外补充,底部右下角那个“Restore Defaults”: 恢复默认值。

 

具体的效果如下图所示:

 

 

五、FileMerge文件比较查看工具

FileMerge文件比较查看工具,也就是对比两个文件里面的内容,找出两个文件之间的不同点;或者是同一个文件,在未修改代码提交前的状态,和代码已经修改提交后的对比,查看修改部分。打开FileMerge文件比较查看工具,有两种方式。

第一种打开方式,是直接在应用程序中找到Xcode,然后点击右键,选择“显示包内容”选项,会打开“Contents”文件,在“Contents”文件找到“Applications”文件,打开“Applications”文件,找到FileMerge文件比较查看工具,双击打开即可,具体如图所示:

第二种打开方式,可以直接在Xcode的Open Developer Tool中找到FileMerge打开,如图:

打开FileMerge文件比较查看工具之后,会弹出工具弹框,如图所示:

然后根据左侧的两个选择按钮“Left...”和“Right...”,然后点击这两个按钮选择你想要对比比对的文件夹或者具体的类文件,然后点击右下角“Compare”按钮,即可实现对比文件的操作,在这里我只做两种情况(还有其他情况)的介绍:一种是同一个文件夹下具体的两个类文件作比较,另一种是对比两个文件夹中相同的两个文件的比较,具体如下所示:

1.同一个文件夹下具体的两个类文件的比较的操作方法:

左箭头表示取左边,右箭头表示取右边,如图选中Left后可以按键盘的←、→键来更改方向,然后按↓键跳到下一处继续选择左右,全部选择完毕后,Command + S保存,这时提示你选择一个新目录用来保存新生成的新合并的文件,然后Command + W关闭当前窗口即可,也可以用全选快捷键,Command + A全选所有的不同的地方,然后按←、→键来更改方向。

2.对比两个文件夹中相同的两个文件的比较的操作方法(需要你双击需要对比的那个具体文件的操作才行):

六、Application Loader打包上传工具

Application Loader打包上传工具对于每一位开发人员来说并不陌生,但是在这里我还是要介绍一下它的使用方法,以及自己的一些使用心得,如有不妥之处,还请指正。

首先介绍打开的方式,如果Xcode里面没有Application Loader工具,就需要去下载,下载安装之后打开,依然是使用Xcode > Open Developer Tool > Application Loader打开即可,具体如图:

打开之后,会弹出登录Application Loader界面,如果之前没有登录过,就需要输入苹果开发者账号和密码,然后登录,如果登录过,它会默认进入上次登录过的那个账号,具体如图所示:

然后点击“选取”按钮,然后找到桌面上面放的打包成功的ipa压缩包,然后选择ipa包,然后“打开”即可,如图:

选择ipa压缩包之后,Application Loader会复查APP资料,复查成功之后,点击“下一步”就可以提交上传苹果服务器上面啦,如图:

在等待了提交ipa包之后,一般是十分钟以内,如果上传成功,就会提示“谢谢您”,然后下面还有一段话,然后点击“完成”即可,这样ipa包就算是上传成功了,

然后等着审核通过,然后再在itunes connect选择构建版本,提交审核即可。可以在itunes connect的“活动”里面查看上传ipa的状态,然后进行更新上传版本的操作,如果上传成功之后,在构建版本那里点击“+”,可以直接选择版本,如图:

写到这里,Xcode的Open Developer Tool中常用功能使用基本算是介绍完了,基本上都是自己的见解,有什么不足还请大牛指正,欢迎交流。然后下面再附加两个常用的Xcode的工具。

1.打开xcode 的organizer界面:

2.进入xcode登录开发者账号,Perferences界面:

最后再介绍一下添加Xcode的Open Developer Tool中常用功能的方式,就是点击Open Developer Tool中的“More Developer Tools...”选项,然后会自动打开浏览器,登录苹果开发者账号,然后进入苹果开发者官网,然后在里面添加新增即可,如图:

 

 

 

 

【手机移动APP】ISO版本性能测试工具Instruments (Time Profiler) 终极使用指南详细介绍,附使用案例(有关必回) 《Instruments Time Profiler使用指南》摘要:苹果官方性能分析工具Instruments中的Time Profiler,通过毫秒级采样定位CPU高占用和主线程阻塞问题。测试人员使用可精准量化性能瓶颈(如"首页滑动卡顿因cellForRowAtIndexPath耗时1.2秒"),提升测试专业性。操作流程:1)通过Xcode启动关联调试符号;2)录制测试场景(如滑动列表15秒);3)关键配置勾选Separate by Thread和Hide System Librari 阅读详情

相关推荐

Xcode Instruments:使用CustomInstrument进行自定义性能监控_2024-07-23_07-52-23.Tex

在开始创建自定义的Instruments监控工具之前,首先需要确保你的Xcode项目已经正确设置。这包括创建一个新的Xcode项目或在现有的项目中进行配置。打开Xcode并创建新项目选择“File” > “New” > “Project”。选择“Application”下的“Single View App”,点击“Next”。填写项目信息,如产品名称、组织名称、组织标识符等,然后选择保存位置,点击“Create”。添加Swift或Objective-C支持。

871

Xcode调试工具Instruments指南

前段时间去国内一家知名的互联网公司应聘高级iOS开发工程师,当时面试时被问到了Instruments,由于平时深入使用的不多,所以被pass掉了。因此决定找时间深入了解一下。主要途径是参考苹果官方文档,所以介绍以翻译官方文档为主。由于内容比较多,会分阶段来介绍。 以下来自苹果官方文档中对Instruments描述介绍Instruments是一个强大而灵活的性能分析和测试工具,它是Xcode开发工具

GGGHub的博客 2万+

iOS开发:对于Xcode的Open Developer Tool中常用功能使用的总结

整理一下Xcode菜单栏里面Open Developer Tool里面的功能,这里只说常用的,不全部介绍说明。

全沾软贱开发攻城狮 1万+

Instruments使用指南(二)--- 开始Instruments之旅

Launch InstrumentsInstruments应用程序存在于Xcode应用程序中,所以最直接的启动方式是在Xcode中。 您也可以通过Dock,Launchpad或命令行间接启动它。Launch Instruments from Xcode启动instruments的最直接的方式从xcode菜单栏里启动.xcode菜单栏启动步骤:打开xcode选择 Xcode > Open De...

星宇大前端 4604

App渗透 - 人脸识别登录绕过

一、APP抓包和逆向破解加密算法打开APP是一个登录框抓包后发现参数被加密了使用Jadx脱源码发现,并没有加壳也没有混淆,运气很好根据经验,先搜索Encrypt、Decrypt等关键字,发现在Common.js中有一个encryptData函数定位过去,一套加解密算法都写好了放在这放到浏览器console里面调试,果然没错二、寻找注入点首先测试了一下注入明文:{"userName":"TEST'...

渗透测试研究中心 2826

读书笔记 | 财务会计理论(第7版 William R.Scott)(中):契约视角下的会计信息价值

本文从契约理论视角深入剖析了财务会计信息的核心价值。文章指出,会计信息作为关键的“契约润滑剂”,通过债务合同与薪酬合同等具体形式,有效解决了公司内外的信息不对称与道德风险问题,协调了股东、债权人及管理层等多方利益,是公司治理与资本市场有效运转的基石。

mac99的博客 330

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Deve

今天在运行脚本的时候pod search报这个错误: /Library/Ruby/Gems/2.3.0/gems/cocoapods-1.6.1/lib/cocoapods/command.rb:118:in `git_version': Failed to extract git version from `git --version` ("xcrun: error: invalid acti...

hanBaiG的博客 4870

【QT开发教程】Qt的图形用户界面设计模式:MVC/MVP/MVVM

在Qt框架中,图形用户界面(GUI)的设计模式对于提高代码的可维护性、可扩展性和可测试性至关重要。MVC(Model-View-Controller)、MVP(Model-View-Presenter)和MVVM(Model-View-ViewModel)是常见的三种设计模式。本文将详细介绍这三种设计模式在Qt中的应用。

科技改变人类,技术成就未来 1487

IOS开发系列(一) - Xcode

我的微信公众号: IOS开发系列(一) - Xcode 一、序言 现在的程序猿们只要谈论到iOS开发,那肯定必谈的就是Xcode,反正就是各种的各种。Xcode 能帮助我们完成非常多的事情这是毋庸置疑,但是很多人用起来还是蛋疼,特别是对于新手,那简直就是蛋碎,当然,这里个人还是提个小建议,对新手来说,千万不要想着一下就能学完关于Xcode的所有知识,最...

life491249957的专栏 931

CAM350常用快捷键

CAM350快捷键 CAM350常用快捷键

bhxc809751502的博客 3058

【推荐100个unity插件】基于关节物理控制的自行车、电动车、摩托车模拟解决方案——Simple Bicycle Physics

摘要 "简易自行车物理"是Unity的自行车模拟资源包,支持Animation Rigging,实现基于关节物理的自行车控制。兼容所有平台和渲染管线,包含预制体、材质、脚本等资源。核心脚本Bicycle Controller管理自行车物理属性,支持自定义角色设置和移动端控制。安装后,用户可快速配置骑行场景,调整转向、速度、重心等参数,并支持地面贴合、兔跳等功能。适用于开发各类自行车模拟游戏和应用。 (字数:149)

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1366

NVKE NKTP Helm Chart 工程指南:从 AGENTS.md 约束到 Chart 校验与发版实践

NVKE 的遥测管道 NKTP(NVKE Telemetry Pipeline)本身就是一个 Helm Chart,没有独立的 Go 代码,也没有构建镜像。本文以 [nktp/AGENTS.md](https://link.gitcode.com/i/e0b5aa6e8748bd3fc4d5a768137375a3) 为骨架,逐条拆解这个组件的定位、目录布局、两条核心 make 命令背后的实现,以

gitblog_00741的博客 1012

【Qt】解决 FTH: (11284): *** Fault tolerant heap shim applied to current process. (亲测有效)

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers。容错堆垫片应用到当前的过程。这通常是由于以前的崩溃。win + r,输入regedit。

Fanjufei的博客 830

iOS自动化构建时报错:xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory

iOS自动化构建时报错:xcode-select: error: tool ‘xcodebuild’ requires Xcode, but active developer directory ‘/Library/Developer/CommandLineTools’ is a command line tools instance 原因:xcodebuild 找不到 Xcode 了。 解决...

星辰和夕月的博客 651

【MATLAB例程】三维下的IMM(交互式多模型),模型使用CV(匀速)和CA(匀加速),滤波使用EKF。附完整代码

CV模型:状态包含位置、速度和零加速度(9维状态),状态转移矩阵忽略加速度项CA模型:完整包含位置、速度和加速度(9维状态),状态转移矩阵包含二次项过程噪声矩阵Q分别根据两种模型的运动特性推导。

985工科博士毕业,专攻定位、导航和滤波等算法研究。从业10年,主要使用MATLAB 561

手把手教你RK3588 NPU驱动与RKNN Toolkit,AI开发不迷路!

本文详细介绍了RK3588 NPU驱动安装与RKNNToolkit使用方法。首先阐述了RK3588芯片在嵌入式AI领域的优势,包括6TOPS算力和混合量化支持。随后分步骤讲解了NPU驱动安装流程,包括准备工作、编译安装、验证调试及常见问题解决。接着全面介绍了RKNNToolkit的环境搭建、基本使用流程和图像分类实战案例,涵盖模型转换、推理优化等关键环节。最后展望了RK3588在智能安防、工业自动化等领域的应用前景,为开发者提供了完整的嵌入式AI开发指南。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 433

iOS -- xcode-select: error: tool ‘xcodebuild‘ requires Xcode 错误处理

使用xcodebuild时错误提示: xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance 找到Xcode安装位置,并显示包内容,拿到developer文件夹路径,执行下面代码 sudo xcode-select --switch /Applicat

阳仔博客 1151

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

ios构建 xcode-select: error: tool xcodebuild requires Xcode 错误

报错xcode-select: error: tool ‘xcodebuild’ requires Xcode, but active developer directory ‘/Library/Developer/CommandLineTools’ is a command line tools instance 报这个错误的原因是xcode-select不在默认的路径 找到xcode-select的当前路径终端命令行 xcode-select --print-path /Library/Develo

ZeaLotSean 5042

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

iOS 探讨之 "Developer Tools Access 需要控制另一个进..."

阐述开发过程中运行模拟器的时候,经常出现”Developer Tools Access”需要控制另一个进程 的字样。本着,见一个问题,解决一个问题的原则,在茫茫的网络信息大海中,找到了answer,并记录一下。

yanglei3kyou的专栏 2669

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

xcode-select: error: tool 'stapler' requires Xcode, but active developer directory '/Library/Develop

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Ma...

Voice_of_Silence的博客 461

iOS-xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer错误的解决办法 命令行打包sdk时,突然报错。可能是路径不对,然后就进行排查。 问题排查: 打开cmd,输入命令行查看xcode路径 xcode-select --print-path...

MinggeQingchun的博客 1423

【IOS自动化环境搭建】xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/...

最近转了业务方向,开始做IOS端自动化测试 做自动化测试,环境搭建是第一步,坑爹的是这一步往往很难弄,尤其是对于新手来讲,新的业务方向 以此记录一下工作过程中遇到的一些问题,一方面做个总结,一方面希望能够帮助 运行sh ./Scripts/bootstrap.sh时报错,信息如下: 看到这个报错,怀疑xcode安装有问题,因为升级过 在命令行中输入xcodebuild,果然...

weixin_30693183的博客 2713

iOS开发之xcodebuild命令提示错误:“tool 'xcodebuild' requires Xcode, but XXXX”

iOS开发之xcodebuild命令提示错误:“tool 'xcodebuild' requires Xcode, but XXXX” 解决方法: Install Xcode Runsudo xcode-select -s /Applications/Xcode.app/Contents/Developer

u014636932的专栏 745

Timelane与Xcode集成教程:打造高效iOS开发工作流

Timelane是一款专为iOS开发者设计的性能分析工具,能够帮助开发者深入了解异步代码的执行情况,优化应用性能。本教程将详细介绍如何将Timelane与Xcode无缝集成,打造高效的iOS开发工作流。 ## 一、Timelane简介 Timelane.app是使用Timelane Instrument分析异步代码的起点,它包含了Timelane Instrument安装包和入门指南。通过Ti

gitblog_00922的博客 260
上一篇: ios implicit conversion of an objective-c pointer to 'NSString *__autoreleasing *' is disallowed wit
下一篇: iOS之加密安全设计
xinxu-dev
博客等级 码龄12年 16粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值