testing包无法加载,因为一个意想不到的错误
最近我开始为一个旧的静态库编写testing用例。 我已经加载库到Xcode 5,由于静态库是旧的,我不得不手动添加TestProject与testing目标。
当我尝试“产品 – >testing”,它启动模拟器和控制台显示以下错误
无法加载/xxx/xxx/xxx/StaticLibTest.xctest上的testing包,因为发生了意外错误:错误域= NSCocoaErrorDomain代码= 3587“包”StaticLibTest.xctest“无法加载,因为它已损坏或丢失必要的资源“。 (dlopen_preflight(/ xxx / xxx / xxx / debug-
我不知道为什么会出现这个错误。
任何帮助指出正确的方向将非常感激。
如果其他读者正在收到此错误,并且您正在使用Carthage添加框架,请确保“ Copy Files
阶段与“ 目标:框架”一起使用 。
如果意外地将框架添加到具有不同目标(“框架”除外)的“ Copy Files
阶段或“ Copy Bundle Resources
,则这也会生成损坏/无效的软件包错误消息。
我有一个类似的问题。 对我来说,这个问题是一个unit testing框架,它是一个dynamic的框架,但没有复制到xctest包。
解决scheme是添加一个“复制文件”阶段到我的unit testing目标,设置其目的地为“框架”,并添加我的框架作为input文件。
我能够通过设置testing目标的主机应用程序来解决这个问题:
我自己find了答案。
您的生成设置 – >体系结构应该与库和testing项目相同
体系结构 – >体系结构=标准架构(armv7,armv7s,arm64)$(ARCHS_STANDARD)
您的testing项目链接 – > Mach-Otypes应该是捆绑的
链接 – > Mach-O Type = Bundle
做生成和运行testing。 而已
closurestesting目标的podconfiguration解决了我的问题,这与configuration它的podconfiguration有关。
对我来说,这个问题是由于我的testing目标中的“iOS部署目标”构build设置不同于我的主应用程序。 一旦我让他们一样,问题就消失了。
对于我来说,我们刚刚开启了CloudKit的权利。 由于某种原因,打破了build设。
除了启用CloudKit之外,我基本上都做了以上所有的工作,并且对苹果公司有点失望:|