ios - 无法将主要的 swift 类导入测试目标?

标签 ios xcode swift import xctest

我正在尝试在我的 iOS 应用程序中测试这些类。我正在尝试通过将 import Pickle 添加到我的 PickleTests.swift 测试文件,但我一直收到错误。

我不断收到的错误是:“无法导入桥接 header (桥接 header 的路径)”(桥接 header 的路径显示在错误中,而不是括号中)。

我已经尝试在build设置中为 Pickle 目标将“Defines module”设置为“Yes”,但它仍然不起作用。我还在build设置中验证了它具有桥接头文件的正确路径。

关于如何设置我的测试有什么想法吗?我在 Xcode 6.3.2 上。如果您需要任何其他信息,请告诉我。

在新标签页中打开图片以查看大图。

最佳答案

非常感谢@matt 帮我解决了这个问题!

右键单击图像并在新选项卡中打开它们以查看大图。

正如在 https://github.com/CocoaPods/CocoaPods/issues/2695 上讨论的那样问题似乎在于将 Cocoapods 作为项目的一部分。解决问题的链接底部附近的答案涉及单击您的应用程序设置,然后单击您的项目 Info(不是您的任何目标设置)。在那里你会看到你的配置设置:enter image description here

您还会注意到配置设置中有两个目标,您的测试目标配置设置将设置为无,而您的主要目标将链接到 Cocoapods。解决方法是将测试目标旁边的 None 值更改为与主要目标相同的值:enter image description here

所以现在它们都链接到 Cocoapods。确保您的主要目标在其 Build Settings 中将 Defines module 设置为 Yes,构建您的项目,测试文件中的错误应该会消失.

此外,在我完成此修复后,我遇到了另一个错误,链接器抛出一个错误,提示我的测试目标中缺少一​​个库。这个丢失的库是我在我的项目中的另一个依赖项,我通过确保我的所有依赖项都链接到我的主要目标的 Link Binary with Libraries 在其 Build Phases< 中解决了这个错误 设置被复制到测试目标的 Link Binary with LibrariesBuild Phases 设置中。

关于ios - 无法将主要的 swift 类导入测试目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30836795/

相关文章:

ios -- 如何限制 CAEmitter 粒子轨迹的范围?

ios - NSNumberFormatter、numberFromString 及其行为

ios - 获取 WKWebView 的当前内存使用情况?

ios - 点击屏幕获取声音(声音文件数组)、xcode 和 swift

ios - 解析从 Int 到 String 的转换不起作用

php - Alamofire Swift 3 + PHP 上传图片不工作

ios - 结合导航 Controller 和标签栏 Controller

ios - 使用 "NSHTTPCookie cookieWithProperties"创建 cookie 失败

ios - Xcode 创建的目标代码格式是什么?

swift - Xcode 捆绑路径