在Xcode 8中运行单元测试导致错误"无法加载插入的库'.../IDEBundleInjection',因为找不到图像"

Dru*_*rux 5 xcode unit-testing code-signing ios10 xcode8

在Xcode 8中测试我的iOS 10应用程序时,我突然遇到错误.

dyld: could not load inserted library
'__PLATFORMS__/iPhoneOS.platform/Developer/Library/PrivateFrameworks/IDEBundleInjection.framework/IDEBundleInjection' 
because image not found
Run Code Online (Sandbox Code Playgroud)

该应用程序的测试之前成功运行.然后我删除了与项目一起创建的框架UI测试用例类,因此这可能导致了问题(不知何故).我已经重新创建了这个课程,但问题仍然存在.

错误消息到底指示了什么以及如何克服该问题,即再次成功运行应用程序的单元测试.

更新必须有另一个根情况,因为如果我在Xcode中创建另一个(空)单视图应用程序项目并运行其单元测试,则会发生相同的错误.

仅在设备上运行单元测试时才会出现此错误,而不是在模拟器上运行.

UPDATE 从苹果到一份类似的报告反应表明该错误与代码签名.应用程序本身在同一设备上运行良好,那么在我的情况下怎么会出现代码签名问题?

Jam*_*lam 2

请一一尝试:

\n\n
    \n
  1. 尝试创建一个新的 UnitTest 目标,复制所有内容,然后删除旧的。

  2. \n
  3. 在常规选项卡面板中,请勿将团队保留为“无”。选择您的团队。并从“设置”中选择正确的代码签名身份。它被设置为非默认值 - 更改为调试设置条目的“IOS Developer”。

  4. \n
  5. 从诊断中禁用“启用保护 Malloc”以在设备中运行应用程序。

  6. \n
  7. 这可能是因为 Xcode 安装了错误的 DeveloperImage。如果您打开“设置”->“开发人员”,您将看到“启用 UIAutomation\xc2\xbb 等”缺失。要修复:

    \n\n

    (A) 将“/Applications/Xcode8.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport”中除“10.0 (12A4297e)”之外的所有文件夹移动到安全位置\n(B) 重新启动手机\n(C)将您的手机连接到 xCode 8\n(D) 在 DeviceSupport 中恢复文件夹

    \n\n

    这是唯一对我有帮助的事情。即使在ios10上重新刷新也没有帮助。

  8. \n
  9. 这是旧的,但它可能会帮助您:在目标的“常规”选项卡中,有一个“嵌入式二进制文件”字段。当您添加框架时,崩溃就解决了。

  10. \n
\n\n

参考Apple 开发者论坛上的https://devforums.apple.com/message/991384#991384

\n\n

祝你好运!

\n