【发布时间】:2015-09-21 10:16:23
【问题描述】:
我正在尝试将 Swift 中的新测试添加到当前用 Objective C 编写的现有 KIF 测试包中。
设置:
- Xcode 6.4
- cocoapods 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'
我已经尝试了here的建议,包括:
- 将应用程序和测试包目标的运行路径搜索路径设置为 @executable_path/Frameworks
- 将“嵌入内容包含 Swift 代码”设置为“是”
我也试过了:
- 完整的 cocoapods 清理并重建项目/工作区
- 删除所有 DerivedData 并运行干净的构建
我也看到了这可能与代码签名身份有关的建议,但捆绑包无法在具有开发身份的模拟器以及真实设备上加载。
如果我恢复到只使用 Objective C 测试,一切正常。
我错过了什么?
【问题讨论】:
标签: ios objective-c swift xcode6 kif