XCode:代码覆盖率数据生成失败

XCode:代码覆盖率数据生成失败,xcode,unit-testing,Xcode,Unit Testing,当我尝试运行单元测试时,在Objective-C项目中遇到了这个可怕的问题。我尝试了以下所有方法(根据各种SOF帖子): 清除派生数据 删除~/Library中的所有模拟器设置 重新启动XCode 重新启动MBP 多次重置模拟器 切换到不同的模拟器(即使是我从未使用过的模拟器) 我检查了控制台日志,发现: 26/06/2016 9:20:10.973 PM com.apple.debugserver-@(#)PROGRAM:debugserver PROJECT:debugserver

当我尝试运行单元测试时,在Objective-C项目中遇到了这个可怕的问题。我尝试了以下所有方法(根据各种SOF帖子):

  • 清除派生数据
  • 删除~/Library中的所有模拟器设置
  • 重新启动XCode
  • 重新启动MBP
  • 多次重置模拟器
  • 切换到不同的模拟器(即使是我从未使用过的模拟器)
我检查了控制台日志,发现:

  26/06/2016 9:20:10.973 PM com.apple.debugserver-@(#)PROGRAM:debugserver  PROJECT:debugserver-350.0.21.9
  [7768]: 1 +0.000000 sec [1e58/1003]: error: ::read ( 3, 0x700000080a40, 1024 ) => -1 err = Bad file descriptor (0x00000009)
我没有用椰子荚


有人知道下一步该做什么吗?

你的应用程序中是否使用了第三方框架?我在项目中链接到第三方框架并尝试运行测试时注意到了这个问题

问题是测试包在运行时找不到框架。您可以通过添加
$(PROJECT\u DIR)/Frameworks
(假设您将框架保留在该位置)来更新测试目标的
运行路径搜索路径
构建设置来解决此问题

可通过以下步骤找到设置:

Project file -> Test target -> Build Settings -> Runpath Search Paths

谢谢,这就是问题所在。Xcode确实需要清除这个错误,因为它并不明显。似乎不能与Xcode 8.1.2一起工作。。。。但无论如何,试试看。。。但谁知道也许它对其他人有用。。。这是一个混乱的局面,使用框架你必须确保
$(PROJECT_DIR)/Frameworks
是框架的目录。例如,如果您使用迦太基,它可能是
$(PROJECT\u DIR)/Carthage/Build/iOS
的可能副本