在pods中使用测试代码在物理设备上运行Xcode ui测试

时间:2016-06-14 05:30:35

标签: ios xcode swift xcode-ui-testing xcode7.3

我们已经创建了一个测试套件swift代码,我们希望在不同的项目中重用它。

我们的计划如下:

我们创建了一个pod,我们放置了不同的帮助器和基类,因此这个pod用于不同的项目。我们在iOS模拟器上运行并运行没问题,但在物理设备上遇到了问题。为了简单起见,这里有一小部分重现问题的步骤。我们以https://github.com/joemasilotti/JAMTestHelper的现有pod为例,因为我们在这里得到完全相同的错误。

  1. 我使用UI测试创建示例应用程序
  2. 运行Cmd + U获得成功
  3. 使用以下内容添加Podfile
  4. target 'TestProjectUITests', :exclusive => true do
        platform :ios, '9.0'
        use_frameworks!
        pod "JAMTestHelper"
    end
    
    1. 运行pod install(我使用0.39.0版本)
    2. 运行Cmd + U出错:XCTest'不包含bitcode。您必须在启用bitcode(Xcode设置ENABLE_BITCODE)的情况下重建它,从供应商处获取更新的库,或禁用此目标的bitcode。对于体系结构arm64 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
    3. 谷歌搜索后,解决方案是将启用位代码设置为NO:http://take.ms/TzN8I

      1. 运行Cmd + U获得绿色构建,但测试总是失败。
      2. 完整日志如下:

        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)
        

1 个答案:

答案 0 :(得分:0)

您使用的是哪个Xcode版本? JAMTestHelper需要Xcode 7.2最低