iOS 和 Swift xctest 上的 Google SDK 1.9.1 麻烦
Posted
技术标签:
【中文标题】iOS 和 Swift xctest 上的 Google SDK 1.9.1 麻烦【英文标题】:Google SDK 1.9.1 on iOS & Swift xctest trouble 【发布时间】:2015-01-15 18:34:46 【问题描述】:提前感谢您为我提供的帮助。我是 ios 新手,正在开发一个使用谷歌地图的应用程序。我添加了谷歌在他的文档 (https://developers.google.com/maps/documentation/ios/start) 中所说的必要框架和资源。问题是当我尝试使用 XCTest 编译应用程序时,它返回此错误:
我在没有单元测试的情况下使用这个 SDK 在 Swift 中制作了一个类似教程的项目,它工作正常。
如果您能提供任何帮助,我将不胜感激。谢谢。
【问题讨论】:
【参考方案1】:可能是您没有将所有必需的框架添加到项目中,或者您没有正确复制框架或捆绑包。
你可以尝试去this Google Maps in Swift tutorial,下载它的项目代码,看看它是否和你的XCode一起运行。
【讨论】:
我创建了另一个没有 XCTest 的项目,它工作正常。当我添加这一行时问题就来了:GMSServices.provideAPIKey() on AppDelegate. 您添加了Bridge-Header
文件吗?
是的。当我尝试编译 TestTarget 并且它不支持 arm64 架构师时,问题就出现了。 -> 架构 arm64 的未定义符号:“_OBJC_CLASS_$_GMSServices”,引用自:
我解决了。刚刚将 GoogleMaps.Framework 和其他框架添加到 TestTarget -> Build Phases -> Link Binary With Library。以上是关于iOS 和 Swift xctest 上的 Google SDK 1.9.1 麻烦的主要内容,如果未能解决你的问题,请参考以下文章
Swift (iOS) 代码覆盖率和 XCTest (mock)