不能将主要的Swift类导入testing目标?
我正在testing我的iOS应用程序中的类。 我试图通过添加import Pickle
到我的PickleTests.swift
testing文件的顶部,将我的应用程序中包含所有类的目标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 Settings
, Build Settings
您的项目,并在testing文件中的错误应该消失。
此外,我做了这个修复后,我遇到了另一个错误,其中链接器抛出一个错误,抱怨我的testing目标中缺less一个库。 这个缺失的库是我在项目中的另一个依赖项,我解决了这个错误,确保我的主要目标的Link Binary with Libraries
的Link 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/