ios - Xcode 7 中的单元测试崩溃

标签 ios objective-c xcode unit-testing gcov

enter image description here当单元测试在 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 通过。 执行了 1 次测试,0.001 (0.003) 秒内出现 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/


我的项目设置如下: 主要目标和测试目标: 启用代码覆盖支持:是 生成旧测试覆盖率文件:否 仪器程序流程:否

我也尝试将上述所有内容设置为“否”,但这没有帮助。

最佳答案

刚刚找到导致崩溃的原因 - 我正在使用的内部库是使用项目设置“仪器程序流程”=YES进行编译的,以便生成基于 gcov 的代码覆盖率。 Xcode 7 不再支持此功能,它放弃了对旧版 gcov 文件格式的支持,转而支持新的中间格式 — profdata。

我获得了该库的新版本,并将仪器设置设置为NO,然后崩溃消失了,所有单元测试都通过了。希望这可以帮助其他面临同样问题的人。

关于ios - Xcode 7 中的单元测试崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32953486/

相关文章:

ios - 为什么 Xcode 中缺少状态栏模拟指标?

ios - 只为 iPad 设置横向方向而不是 iPhone

iphone - 在 iPhone 上运行时内存泄漏

ios - 在将 View 添加到 View 树之前如何计算 UIViewController 高度?

ios - 我怎么知道这个特定函数在哪里被调用?

ios - SocketRocket 和 iOS 证书固定

ios - 如何通过编程创建的导航 Controller POP 查看 Controller

ios - 无关系地在核心数据中的两个实体之间传递信息

ios - LARSAdController 中每次出现 "(Class)class"的预期标识符

ios - iOS上的UITableViewCell自动高度不正确