我们创建了一个测试套件swift代码,希望在不同的项目中重用。
我们的计划如下:
我们创建了一个pod,在其中放置不同的助手和基类,所以这个pod用于不同的项目。我们在iOS模拟器上安装并运行它没有问题,但在物理设备上遇到了问题。为了简单起见,这里列出了一些重现问题的步骤。我们以现有的吊舱为例https://github.com/joemasilotti/JAMTestHelper因为我们在这里得到了完全相同的错误。
- 我使用UI测试创建示例应用程序
- 运行
Cmd + U
成功 - 添加
Podfile
,内容如下:
target 'TestProjectUITests', :exclusive => true do platform :ios, '9.0' use_frameworks! pod "JAMTestHelper" end
- 运行
pod install
(我使用0.39.0
版本) - 运行
Cmd + U
时出现错误:XCTest"不包含位代码。"。您必须在启用位代码的情况下重建它(Xcode设置ENABLE_bitcode),从供应商处获取更新的库,或禁用此目标的位代码。对于体系结构arm64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
谷歌搜索配置后,解决方案将启用位代码设置为NO:http://take.ms/TzN8I
- 运行
Cmd + U
得到绿色构建,但测试总是失败
完整日志如下:
2016-06-13 22:10:06.682 XCTRunner[20405:6816312] Running tests...
2016-06-13 22:10:06.749 XCTRunner[20405:6816312] The bundle “TestProjectUITests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.
2016-06-13 22:10:06.749 XCTRunner[20405:6816312] (dlopen_preflight(/var/containers/Bundle/Application/6BE65B3E-8962-40CB-A6E7-D9F1ADE1D743/TestProjectUITests-Runner.app/PlugIns/TestProjectUITests.xctest/TestProjectUITests): Library not loaded: @rpath/JAMTestHelper.framework/JAMTestHelper
Referenced from: /var/containers/Bundle/Application/6BE65B3E-8962-40CB-A6E7-D9F1ADE1D743/TestProjectUITests-Runner.app/PlugIns/TestProjectUITests.xctest/TestProjectUITests
Reason: image not found)
您正在使用哪个Xcode版本?JAMTestHelper需要Xcode 7.2最低