我使用XCTest在Xcode中编写了单元测试,并且它们在Xcode中运行良好。除了GUI环境,我还有一个makefile,可以从命令行自动执行某些进程。这些包括构建,测试,清理,分析等。其基本原理是在构建管道中包含脚本,主要用于夜间构建。有了这个,我们会在早上获得构建,性能报告,内存泄漏等等。
我还想profile使用command line来Instruments 。以下是我的表现:
instruments -t "Allocations" -D build/hul.trace hul.xcodeproj
我得到以下输出:
Instruments Trace Error : Target failed to run: Unable to find actual binary to posix_spawn for path: hul.xcodeproj
这与项目是静态库有关吗?我想要将结果写入文件的工具,以便我可以在第二天进行咨询,甚至自动执行某些处理,例如使用模式匹配。有没有人在使用仪器之前做过类似的事情?
编辑:这似乎正在做某事:
sudo instruments -v -t "Time Profiler" "build/Build/Products/Debug-iphonesimulator/hulTests.xctest/" -w "iPhone SE"
然而,我得到以下对话框:
{{3}}
我只是不知道适当的行动是什么......
编辑:有一件事是错的。根据文件:
-w [hardware device, or simulator name]
The name or identifier of the hardware device or simulator to target. Should be specified first
所以上一行改为:
instruments -w "iPhone SE" -v -t "Time Profiler" "build/Build/Products/Debug-iphonesimulator/hulTests.xctest/"
此外,除了“iPhone SE”之外,我正在使用实际的设备标识符,而且我在某处读到了您不应该使用sudo
的内容。确实这有帮助!我注意到instruments -s devices
和sudo instruments -s devices
的结果实际上是不同的。所以现在我得到了一个不同的错误:
Instruments : Instruments Accepted Command
Instruments : Preparing To Start Trace
Instruments : Starting Instrument(s)
Instruments : Stopping Instrument(s)
Instruments Trace Error : Target failed to run: Permission to debug com.hypelabs.test was denied.
make: *** [profile] Error 253
我用Google搜索,这似乎表明签名错误,但如果我正在运行单元测试,这是否有意义?也就是说,我正在编写一个静态库,因此甚至没有.app文件可以签名。