原因:使用开发平台运行UI测试时找不到图像

时间:2018-12-28 22:51:06

标签: ios swift xcode cocoapods xcuitest

我有一个可以成功部署到模拟器和设备的应用程序,但是当我尝试运行其关联的UI测试时,出现以下错误:

  

MY_APP_TARGETUITests-Runner [55293:20696349]   无法加载“ MY_APP_TARGETUITests”,因为它已损坏或   缺少必要的资源。尝试重新安装捆绑软件。

     

MY_APP_TARGETUITests-Runner [55293:20696349]   (dlopen_preflight(/ Users / @@@@ / Library / Developer / Xcode / DerivedData / MY_APP_TARGET-gbamhqqrrbznxidxekwloacioddy / Build / Products / Debug-iphonesimulator / MY_APP_TARGETUITests-Runner.app / PlugIns / MY_APP_TAR_s加载库: @ rpath / libswiftAVFoundation.dylib

     

引用自:   /Users/@@@@/Library/Developer/Xcode/DerivedData/MY_APP_TARGET-gbamhqqrrbznxidxekwloacioddy/Build/Products/Debug-iphonesimulator/MY_APP_TARGETUITests-Runner.app/PlugIns/MY_APP_TARGETUITestworks.work-xLocal >      

原因:找不到图片)

第一个问题与Library not loaded: @rpath/libswiftAVFoundation.dylib有关,所以我用以下内容调查了该问题:

dyld: Library not loaded: @rpath/libswiftAVFoundation.dylib

我执行了以下项目尝试解决该问题:

  • 卸下并重新安装了受影响的吊舱
  • 清洁并重建
  • 重新启动XCode和计算机
  • 删除派生数据
  • s.framework = 'AVFoundation'添加到了我的本地pod的podspec文件中
  • 将“始终嵌入Swift标准库”设置为默认值(现在安装我的Pod,没有任何警告或错误)

Successful pod installation

这些都不解决第一个错误。

关于第二个,我也在这里检查:

XCode10 - UITests - Reason: image not found

我的Podfile的设置如下:

use_frameworks!
inhibit_all_warnings!
platform :ios, '10.3'

def default_pods
    pod 'RemotePod', '~> 1.0'
    pod 'MyLocalPod', :path => 'path/to/MyLocalPod'
end

target 'MY_APP_TARGET' do
    default_pods
end

target 'MY_APP_TARGETTests' do
    inherit! :search_paths

    default_pods
end

target 'MY_APP_TARGETUITests' do
    inherit! :search_paths

    default_pods
end

我已经测试过将吊舱直接放置到目标中,但这并没有改变。

涉及的一切都是100%Swift,因此在混合Objective-C时应该没有任何问题。

2 个答案:

答案 0 :(得分:0)

重新设置模拟器并为我修复了设备。

Paul提供的链接中的任何步骤都无法解决它。

答案 1 :(得分:0)

在您的一个框架使用另一个框架作为依赖项的情况下,此问题很常见。您应该将所有依赖项直接添加到应用程序目标中,而不是将其添加到框架中。