【发布时间】:2014-10-19 03:40:55
【问题描述】:
我正在使用 XCode 6 Beta-6 在 Swift 中编写应用程序。 我正在使用 Cocoapods,并且正在创建一些单元测试。
问题是这样的:显然不可能有一个项目包含:
1) 用 Swift 编写的项目
2) 一些使用 cocoapods 安装的 pods
3)一个Objective-C桥头文件,导入一些pods
4) 单元测试
这听起来很奇怪,但请按照我的步骤操作:运行 pod install 后,创建 Objective-C 桥头并导入一个 pod:一切正常。
现在写一些测试:为了测试你自己的类,你必须导入名为“作为你的项目”(或者更好,“作为主要目标”)的模块:在我的“MyAwesomeApp”项目中我必须写import MyAwesomeApp在我的测试文件中。
不幸的是,在这一步 XCode 不会编译:
在我的import MyAwesomeApp 行中出现错误“无法导入桥接头 '/path/to/MyAwesomeApp/MyAwesomeApp/MyAwesomeApp-Bridging-Header.h”;
并且 Bridging-Header 文件中出现错误“xxx.h file not found”,排除了导入 pod 的可能性。
另外,如果我不在 Obj-c 桥接文件中导入 pod,项目将编译正常。
看起来在导入 Objective-C 桥头文件(Objective-C 文件取自工作区中的不同子项目)和用于测试的“主模块”时存在冲突。
你知道有没有解决办法?我错过了什么? 谢谢
注意:作为一种解决方法,我可以在 Objective-C 桥头文件中导入 pod,而不是在我的测试中包含主模块,而是在我的“测试”目标中添加我想要测试的所有类。 这会起作用,但它不是最干净的解决方案(我认为)
【问题讨论】:
标签: xcode unit-testing swift cocoapods