Xcode 7.0 XCTest dyld:无法加载插入的库 IDEBundleInjection

Xcode 7.0 XCTest dyld: could not load inserted library IDEBundleInjection

我正在 运行 对我的 iOS 项目进行单元测试,当它 运行 时,它崩溃并吐出:

dyld: could not load inserted library '/private/var/mobile/Containers/Data/Application/1CAB64C8-D730-427B-8E9E-BD5E152ACFD6/tmp/IDEBundleInjection.framework/IDEBundleInjection' because no suitable image found.  Did find:
/private/var/mobile/Containers/Data/Application/1CAB64C8-D730-427B-8E9E-BD5E152ACFD6/tmp/IDEBundleInjection.framework/IDEBundleInjection: mmap() error 1 at address=0x00436000, size=0x00004000 segment=__TEXT in Segment::map() mapping /private/var/mobile/Containers/Data/Application/1CAB64C8-D730-427B-8E9E-BD5E152ACFD6/tmp/IDEBundleInjection.framework/IDEBundleInjection

我正在使用 XCode 7.0 并在 iPod 运行 iOS 8.3 上进行测试。我已经删除了派生数据并重新启动 XCode 但它仍然没有用。

我通过在 build settings->code signing identity 中指定我的开发人员证书设法解决了这个问题。

我通过创建一个新的 UnitTest 目标、复制所有内容并删除旧的来解决这个问题。

我通过选择正确的目标然后从设置中选择正确的代码签名身份来解决这个问题。它被设置为非默认值 - 调试设置条目更改为 'IOS Developer'。

我需要在 Project->App Target->General 下设置团队。它被设置为 "None",而不是有效的团队。

在常规面板中,不要离开团队 "None"

同时:select Build Setting->Code Signing-> Code Signing Identity中的代码签名

就我而言,供应配置文件没有任何问题,这取决于项目中的架构,不包括 arm64。将 arm64 添加到测试目标和主机应用程序目标后,测试 运行 很好(在 Xcode 7.2 上)。错误是:

dyld: could not load inserted library '/private/var/mobile/Containers/Data/Application/A94F5AD3-2A5F-415D-B127-0F45DEC7A659/tmp/IDEBundleInjection.framework/IDEBundleInjection' because no suitable image found.  Did find:
/private/var/mobile/Containers/Data/Application/A94F5AD3-2A5F-415D-B127-0F45DEC7A659/tmp/IDEBundleInjection.framework/IDEBundleInjection: mmap() error 22 at address=0x00501000, size=0x00005960 segment=__LINKEDIT in Segment::map() mapping /private/var/mobile/Containers/Data/Application/A94F5AD3-2A5F-415D-B127-0F45DEC7A659/tmp/IDEBundleInjection.framework/IDEBundleInjection

我在 XCode 构建设置中将我的基础 SDK 设置为比 phone 更新的 iOS 版本,所以我不得不升级 OS在 phone.

我通过重启 iOS 设备解决了这个问题。

我遇到了同样的问题,不得不重新启动我的设备。我正在使用 iOS 10 和 Xcode 8.0(在 swift 3.0 中开发)