在较旧的iOS模拟器上运行时,Xcode 10测试失败-“无法加载测试包...未找到合适的图像”

时间:2018-09-16 14:24:12

标签: ios xcode xctest xcode10 ios12

我已经安装了Xcode 10,并将iOS应用程序升级到Swift 4.2。当我通过Xcode在运行iOS 12的iPhone模拟器上运行测试(UI和单元)时,测试成功启动。当我尝试在运行旧版iOS版本(例如iOS 10.3.1)的模拟器上运行测试时,出现“无法加载测试包”的错误。这些测试已在Xcode 9.4上成功运行。我可以在这个较旧的模拟器上运行我的应用,而不会出现问题。

Xcode输出如下(“阅读列表”是应用程序名称):

  

2018-09-16 15:11:36.667 ReadingList [11401:11478426]无法从文件:/// Users / andrewbennet / Library / Developer / Xcode / DerivedData / ReadingList-edsxqugqvkymbgfrbivbjmzebuya / Build / Products /加载测试包Debug-iphonesimulator / ReadingList.app / PlugIns / ReadingList_UnitTests.xctest /:错误域= NSCocoaErrorDomain代码= 3587“ dlopen_preflight(/ Users / andrewbennet / Library / Developer / Xcode / DerivedData / ReadingList-edsxqugqvkymbgfrbivbv ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitTests):找不到合适的图片。找到了:       /Users/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitTests:“不是为用户构建的,而是为Mach-oInfo, {NSLocalizedFailureReason =捆绑包已损坏或缺少必要的资源。NSLocalizedRecoverySuggestion =尝试重新安装捆绑包。NSFilePath= /用户/ andrewbennet / Library / Developer / Xcode / DerivedData / ReadingList-edsxqugqvkymbgfrbivbjmzebuing / Build / Lists / Products。 app / PlugIns / ReadingList_UnitTests.xctest / ReadingList_UnitTests,NSDebugDescription = dlopen_preflight(/ Users / andrewbennet / Library / Developer / Xcode / DerivedData / ReadingList-edsxqugqvkymbgfrbivbjmzebuya / Build / Products / Test_Units / Read_Lists / Apps / Test_Insing / Apps / Test-List ):找不到合适的图片。找到了:       /Users/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest/ReadingList_UnitTests:不是为iOS开发的,而是Mach-oPath, /Users/andrewbennet/Library/Developer/Xcode/DerivedData/ReadingList-edsxqugqvkymbgfrbivbjmzebuya/Build/Products/Debug-iphonesimulator/ReadingList.app/PlugIns/ReadingList_UnitTests.xctest,NSLocalizedDescription =“被加载”是因为捆绑“ ReadingList_Unit”损坏或缺少必要的资源。}

mach-o, but not built for iOS simulator行似乎很关键。我该如何解决?

2 个答案:

答案 0 :(得分:16)

测试目标的iOS Deployment Target设置为默认值。

在Xcode 9.4中,它等于“ iOS 11.4”,但是由于某些原因,测试仍然可以在“ iPhone 7(10.3)”模拟器上运行。在Xcode 10中,行为似乎有所变化,因为测试不再在默认“ iOS 12”之前运行iOS版本的模拟器上运行。

答案 1 :(得分:2)

在项目浏览器中,选择项目文件。 在项目配置窗口中选择目标。 选择构建设置选项卡,(基本和级别) 向下滚动到iOS部署目标,然后选择所需的操作系统版本。

这为我解决了问题。 干杯 rgds戴夫