无法在iOS 12.3之前的设备上启动Swift UI测试

无法在iOS 12.3之前的设备上启动Swift UI测试,ios,swift,xcode,Ios,Swift,Xcode,我正在尝试设置一些UI测试,但无法让它们在运行iOS 12.3之前版本的设备上运行 即使我启动了一个新的swift项目,勾选了“包括UI测试”,并尝试在iOS 12.3之前的设备上直接运行UI测试,我也会得到以下结果: 2019-05-22 15:42:41.543630+0100测试用例运行测试[461:45630]运行测试。。。 2019-05-22 15:42:41.601954+0100 testUITests Runner[461:45630]无法加载捆绑包“testUITests”,

我正在尝试设置一些UI测试,但无法让它们在运行iOS 12.3之前版本的设备上运行

即使我启动了一个新的swift项目,勾选了“包括UI测试”,并尝试在iOS 12.3之前的设备上直接运行UI测试,我也会得到以下结果:

2019-05-22 15:42:41.543630+0100测试用例运行测试[461:45630]运行测试。。。 2019-05-22 15:42:41.601954+0100 testUITests Runner[461:45630]无法加载捆绑包“testUITests”,因为它已损坏或缺少必要的资源。尝试重新安装捆绑包。 2019-05-22 15:42:41.602043+0100 testUITests Runner[461:45630](dlopen_飞行前(/var/containers/Bundle/Application/50D1F2AB-69B9-4C3D-B36B-F84F838E3301/testUITests Runner.app/PlugIns/testUITests.xTest/testUITests):库未加载:@rpath/libswitcore.dylib 引用自:/var/containers/Bundle/Application/50D1F2AB-69B9-4C3D-B36B-F84F838E3301/testUITests-Runner.app/PlugIns/testUITests.xctest/testUITests 原因:未找到图像

我在Xcode 6的Beta中看到了关于相同错误的各种问题和答案,但没有任何建议对我有所帮助,包括:

  • 干净利落
  • 更改证书信任规则
  • 导入核心定位
  • 包括一个虚拟swift文件
  • 改变运行路径搜索路径(似乎已经在Xcode中修复)
  • 更改“始终嵌入swift标准库”生成设置
我从Xcode 10.2开始,发现了这个问题,升级到Xcode 10.3没有帮助

它在12.2模拟器上运行良好,但在设备上出现故障。

我有两个猜测

  • 您是否在components中下载了ios版本的组件


  • 打开和关闭计算机&更糟糕的情况是卸载并重新安装xcode

    我已经找到了解决此问题的方法,尽管它对于未来版本的Xcode不一定可靠,所以如果您决定尝试此方法,请小心(也许您需要在Xcode升级后重复此过程)

    如果您转到以下目录,您将找到适用于iPhone设备的所有swift库:

     Applications⁩ ▸ ⁨Xcode⁩ ▸ ⁨Contents⁩ ▸ ⁨Developer⁩ ▸ ⁨Toolchains⁩ ▸ XcodeDefault.xctoolchain⁩ ▸ ⁨usr⁩ ▸ ⁨lib⁩ ▸ ⁨swift⁩ ▸ ⁨iphoneos
    
    您可以将这些库复制到UI测试目标(而不是正在测试的应用程序)中,然后添加复制文件构建阶段以将库捆绑到测试运行程序中,以便在运行时找到它们。您不需要所有swift库,下图显示了我发现需要哪些库:


    ⁩同样值得注意的是,这会把在模拟器上运行测试搞得一团糟(毫无疑问,部分原因是这些被复制的swift库是设备的版本),尽管可能有一种方法可以解决这个问题,或者如果你不打算在模拟器上运行它们,也可以这样做。答案非常简单。只需确保在构建设置中,UI测试目标与应用程序具有相同的部署目标

    我将应用程序的目标更改为iOS 10,但没想到我需要对UI测试目标进行同样的更改


    我想这是我们应该自动同步的东西,大概没有理由让他们针对不同的版本真的

    谢谢你的评论。猜测1是我已经解决过的问题,尽管它是由不同问题引起的不同错误。我真的不明白猜测2。。。“组件”是指首选项中的模拟器列表吗?不知道那会有什么帮助!我的主要目标支持iOS 9.3+。使用Xcode 10.2创建新的XUITest目标时,将默认值设置为12.2。这个答案很有帮助。