不能将主要的Swift类导入testing目标?

我正在testing我的iOS应用程序中的类。 我试图通过添加import Pickle到我的PickleTests.swifttesting文件的顶部,将我的应用程序中包含所有类的目标Pickle导入到我的testing目标PickleTests ,但是我不断收到错误。

我收到的错误是:“无法导入桥接头(桥接头的path)”(桥接头的path显示在错误,而不是括号)。

我已经尝试在我的Pickle目标的生成设置中的“定义模块”设置为“是”,但它仍然不起作用。 我也在构build设置中validation了它具有桥接头文件的正确path。

任何关于如何设置我的testing的想法? 我在Xcode 6.3.2上。 请让我知道如果你需要任何额外的信息。

在新标签中打开图片,看看它是否更大。

非常感谢@matt帮助我这个!

右键单击图像,然后在新标签中将其打开,以查看它们的大小。

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

您还会注意到在configuration设置中有两个目标,而您的主要目标将链接到Cocoapods时,您的testing目标configuration设置将被设置为无。 解决方法是将testing目标旁边的None值更改为主目标具有的相同内容: 在这里输入图像说明

所以现在他们都和Cocoapods有联系 确保您的主要目标已Defines module设置为Yes在其Build SettingsBuild Settings您的项目,并在testing文件中的错误应该消失。

此外,我做了这个修复后,我遇到了另一个错误,其中链接器抛出一个错误,抱怨我的testing目标中缺less一​​个库。 这个缺失的库是我在项目中的另一个依赖项,我解决了这个错误,确保我的主要目标的Link Binary with LibrariesLink Binary with Libraries在其Build Phases设置中Link Binary with Libraries到的所有依赖项都被复制到testing目标的Link Binary with Libraries Build Phases设置中的“ Link Binary with Libraries

你不必这样做。 你可以在你的Podfile中使用link_with。 在你的情况下,你会这样做。

 link_with 'Pickle', 'PickleTests' 

然后pod update

FWIW,在Xcode 7上,导入注释:@testable。 例:

 import Pickle @ImportTests 

然后,您将能够在代码完成和编译中看到这些类。 来源: https : //www.natashatherobot.com/swift-2-xcode-7-unit-testing-access/