在iOS逻辑测试中使用CocoaPods时未找到库
我正在尝试针对我的项目中的类使用我的podspec中的一些库中的功能编写一些iOS逻辑测试。 我使用Xcode提供的标准单元测试包(尽管不是应用程序测试,只是单元测试)。
例如,我使用魔法记录,并且在我的podspec中链接了该库。 它存在于我工作区中的Pods项目中,并且在应用程序在模拟器或设备上运行时按预期工作。 当我尝试链接到使用魔法记录的对象时,我得到一个链接器错误,指出它无法从魔法记录中找到选择器。 我尝试更新我的逻辑测试包中的HEADER_SEARCH_PATH,甚至将其编码到由CocoaPods创建的头文件目录中,但没有运气。
我可以针对没有使用CocoaPods库的类运行单元测试。
我是否在谈论这个错误? 我应该做些别的事情让编译器看到CocoaPods库吗?
CocoaPods 1.0改变了这个语法。 现在看起来像这样:
def shared_pods
pod 'SSKeychain', '~> 0.1.4'
...
end
target 'Sail' do
shared_pods
end
target 'Sail-iOS' do
shared_pods
end
Pre CocoaPods 1.0回答
你想用什么link_with
从Podfile
。 就像是:
link_with 'MainTarget', 'MainTargetTests'
然后再次运行pod install
。
我想通过查看我的应用程序的主要目标是如何从CocoaPods库接收设置来了解这一点。 CocoaPods包含一个名为Pods.xcconfig的.xcconfig文件。 该文件包含所有标题搜索路径。
如果您在项目导航器中查看项目并单击“信息”选项卡,则会在顶部显示您的构建配置。 如果您为不同的配置打开显示三角形,则会在您的主要目标下列出豆荚。 我不得不单击下拉菜单并将Pod添加到逻辑测试目标。
我还必须从我的主目标中复制$(inherited)
和${PODS_HEADERS_SEARCH_PATHS}
的设置,并将它们复制到Build Settings / HEADER_SEARCH_PATHS下的逻辑测试目标中。
最后,我必须在链接二进制与库生成阶段为我的逻辑测试目标添加libPods.a。
希望这能够帮助别人。
我在这里找到了一个解决方案使用CocoaPods进行单元测试:
在Xcode中打开项目文件,然后选择Project(不是目标),在右侧面板中有一个名为Configurations的部分。 在“基于配置文件”列中为您的测试目标选择豆荚。
链接地址: http://www.djcxy.com/p/89631.html上一篇: Libraries not found when using CocoaPods with iOS logic tests
下一篇: Setting a custom background color on Actionbar ShareActionProvider dropdownlist