iOS 单元测试在 CocoaPods Google Maps SDK 上失败
Posted
技术标签:
【中文标题】iOS 单元测试在 CocoaPods Google Maps SDK 上失败【英文标题】:iOS unit tests fail on CocoaPods Google Maps SDK 【发布时间】:2016-09-16 15:41:23 【问题描述】:自从使用 Xcode 8 将我们的代码库迁移到 Swift 3 之后,我们一直无法运行我们的单元测试。该应用程序可以很好地为商店编译和存档,但是当我们尝试运行测试时,它无法构建并抱怨:
未找到适用于 x86_64 架构的 GoogleMapsBase 框架
我检查了我们的 podfile,根据最新的文档,一切似乎都设置正确。
编辑:下面的 Podfile
source 'https://github.com/CocoaPods/Specs.git'
target "Borked" do
platform :ios, '9.3'
use_frameworks!
pod 'GoogleMaps'
pod 'GoogleAnalytics'
target "Unit Tests" do
inherit! :search_paths
end
target "UI Tests" do
inherit! :search_paths
end
end
【问题讨论】:
你能发布你的 Podfile 吗?您确定要将 Google 地图框架与测试目标相关联吗? 我尝试了多种变体...从主要目标继承,将它们拆分为单独的目标并对依赖项进行硬编码。无论我用哪种方式将它们切开,它仍然失败。 你能更新你的 cocoapods 并通过 Pods install 更新 pods 并检查它吗? 使用 cocoapods 和我正在使用的框架,一切都是最新的。 【参考方案1】:这样的东西应该可以工作!
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.3'
use_frameworks!
target 'MyApp' do
pod 'GoogleMaps'
pod 'GoogleAnalytics'
target "Unit Tests" do
inherit! :search_paths
end
target "UI Tests" do
inherit! :search_paths
end
end
或者这个
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.3'
use_frameworks!
target 'MyApp' do
target 'MyExtension' do
pod 'GoogleMaps'
pod 'GoogleAnalytics'
target "Unit Tests" do
inherit! :search_paths
end
target "UI Tests" do
inherit! :search_paths
end
end
end
【讨论】:
哦等等 - 第二种形式有效!出于某种原因,我不得不将 Google Maps pod 明确放置到每个目标中。谢谢!以上是关于iOS 单元测试在 CocoaPods Google Maps SDK 上失败的主要内容,如果未能解决你的问题,请参考以下文章