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

Reason: image not found when running UI tests using a development pod

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

MY_APP_TARGETUITests-Runner[55293:20696349] The bundle “MY_APP_TARGETUITests” couldn’t be loaded because it is damaged or missing necessary resources. Try reinstalling the bundle.

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_TARGETUITests.xctest/MY_APP_TARGETUITests): Library not loaded: @rpath/libswiftAVFoundation.dylib

Referenced from: /Users/@@@@/Library/Developer/Xcode/DerivedData/MY_APP_TARGET-gbamhqqrrbznxidxekwloacioddy/Build/Products/Debug-iphonesimulator/MY_APP_TARGETUITests-Runner.app/PlugIns/MY_APP_TARGETUITests.xctest/Frameworks/MyLocalPod.framework/MyLocalPod

Reason: image not found)

第一个问题似乎与 Library not loaded: @rpath/libswiftAVFoundation.dylib 有关,因此我通过以下方式调查了该问题:

我执行了以下项目来尝试解决它:

Successful pod installation

None 个解决了第一个错误。

关于第二个,我这里也查到了:

我的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

我已经测试过将 pod 直接放入目标中,但这并没有改变任何事情。

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

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

None link 的步骤由 Paul 提供可以解决它。

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