我正在尝试将 Swift 中的新测试添加到当前用 Objective C 编写的现有 KIF 测试包中。
设置:
- Xcode 6.4
- 可可足类 0.37.2
- Podfile 使用最新版本的 KIF
我已经设置了 Swift 桥接头,导入了 KIF 和我项目的其他相关部分,以使这些对 Swift 可用。
我将事情简化为一个简单的测试用例,在这个阶段甚至不使用 KIF:
import Foundation
class MyFirstTest : KIFTestCase {
func testOne() {
NSLog("Done")
}
}
测试包构建良好,但是当我运行时,我得到:
2015-07-03 14:52:32.620 MyApp [1104:204793] 加载/private/var/mobile/Containers/Data/Application/F20A664E-BD2D-4299-A93F-4C6758CBAF34/tmp/MyApp_UI_Tests.xctest/MyApp_UI_Tests 时出错:dlopen (/private/var/mobile/Containers/Data/Application/F20A664E-BD2D-4299-A93F-4C6758CBAF34/tmp/MyApp_UI_Tests.xctest/MyApp_UI_Tests,262):库未加载:@rpath/libswiftXCTest.dylib
引用自:/private/var/mobile/Containers/Data/Application/F20A664E-BD2D-4299-A93F-4C6758CBAF34/tmp/MyApp_UI_Tests.xctest/MyApp_UI_Tests
原因:找不到图像 DevToolsBundleInjection:加载包时出错'/private/var/mobile/Containers/Data/Application/F20A664E-BD2D-4299-A93F-4C6758CBAF34/tmp/MyApp_UI_Tests.xctest'
我已经尝试过这里的建议,包括:
- 将应用程序和测试包目标的运行路径搜索路径设置为 @executable_path/Frameworks
- 将“嵌入内容包含 Swift 代码”设置为 YES
我也试过:
- 完整的 cocoapods 清理和重建项目/工作区
- 删除所有 DerivedData 并运行干净的构建
我还看到了这可能与代码签名身份有关的建议,但是捆绑包无法在具有开发身份的模拟器以及真实设备上加载。
如果我恢复到只使用 Objective C 测试,一切正常。
我错过了什么?