【发布时间】:2018-09-26 23:29:32
【问题描述】:
在 Xcode10 中运行我的 UITests Target 时,我现在得到:
库未加载:@rpath/libswiftMetalKit.dylib。
引用自:../MyApp.app/PlugIns/MyAppUITests.xctest/Frameworks/Hero.framework/Hero
原因:图片未找到)
我的常规目标工作正常。我的常规目标和 UITests 目标都将“始终嵌入 Swift 标准库”设置为是,但我注意到 Pods 项目和框架已将此设置为否。
我尝试过的事情:
- 清理项目、删除派生数据并重建项目
- 验证我的代码签名是否有效
- 在 Pods 项目和框架上将“始终嵌入 Swift 标准库”设置为“是”。
- 将 @rpath 添加到 UI 测试目标的运行路径搜索路径
到目前为止,没有任何效果。是否还有其他人遇到此问题或了解可能有什么帮助?
编辑: 感谢@matt 为我指出相关问题的方向。 我尝试导入 UIKit 并重新创建目标,但均无济于事。 在我的一个 UITest 目标中导入特定框架(即 Hero)或库(即 MetalKit)允许它构建,但神秘的是,由于 libswiftSwiftOnoneSupport(由 Alamofire 引用)没有构建,我的另一个 UITest 目标仍然不会构建。 仍然不确定这是否是由于我的 Cocoapods 设置(包括 UITest 目标在内的所有目标都导入了所有 pod,我认为这应该是不必要的,但如果我不这样做,我会丢失我的 pod 的框架),但完全相同的设置工作正常XCode 10 之前的版本。
【问题讨论】:
-
最简单的解决方案大概就是复制 UI 测试文件代码,删除 UI 测试目标及其所有文件,制作一个全新的 UI 测试目标,然后粘贴代码。升级后我经常需要这样做。