在 Xcode 7(GM 和 7.0.1)中运行单元测试时,测试通过;但在那之后,它立即崩溃了。
Xcode 调试控制台显示以下错误:
libc++abi.dylib:以 std::__1::system_error 类型的未捕获异常终止:互斥锁失败:参数无效
日志还显示了很多这样的错误:
测试套件“MyTests”于 2015-10-05 09:20:54.028 通过。
执行 1 次测试,在 0.001 (0.002) 秒内出现 0 次失败(0 次意外)
测试套件“选定测试”于 2015-10-05 09:20:54.028 通过。
在 0.001 (0.003) 秒内执行了 1 次测试,0 次失败(0 次意外)
分析:/Users/ldupont/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build/Debug-iphonesimulator/PlayerIOS.build/Objects-normal/x86_64/SCPlayerTabularCollectionView.gcda : 无法打开: 没有这样的文件或目录
分析:/Users/ldupont/Documents/Fuego/Player_ios/PlayerIOS/ObjectiveC.gcda:无法打开:没有这样的文件或目录
分析:/Users/testuser/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build/Debug-iphonesimulator/PlayerIOS.build/Objects-normal/x86_64/SCPlayerTabularCollectionView.gcda:无法打开: 没有这样的文件或目录
分析:/Users/testuser/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build/Debug-iphonesimulator/PlayerIOS.build/Objects-normal/x86_64/SCPlayerTabularCollectionView.gcda:无法打开: 没有这样的文件或目录
分析:/Users/testuser/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build/Debug-iphonesimulator/PlayerIOS.build/Objects-normal/x86_64/SCPlayerTabularCollectionView.gcda : 无法打开: 没有这样的文件或目录
分析:/Users/testuser/Library/Developer/Xcode/DerivedData/PlayerIOS-dpnbmmngypdkcsbguaesyimldsvi/Build/Intermediates/PlayerIOS.build/Debug-iphonesimulator/
我的项目设置如下:
主要目标和测试目标:
启用代码覆盖支持:是
生成旧版测试覆盖文件:否
仪器程序流程:否
我也尝试将以上所有设置都设置为 NO,但这没有帮助。
Best Answer-推荐答案 strong>
刚刚找到导致崩溃的原因 - 我使用的内部库是使用项目设置'Instrument Program Flow'= YES编译的,以便生成基于 gcov 的代码覆盖率。 Xcode 7 不再支持这一点,它放弃了对传统 gcov 文件格式的支持,转而支持新的中间格式 — profdata。
我获得了该库的新版本,其中 Instrument 设置设置为 NO,然后崩溃消失了,所有单元测试都通过了。希望这对面临同样问题的其他人有所帮助。
关于ios - 单元测试在 Xcode 7 中崩溃,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/32953486/
|