当我为iOS构建GoogleMaps SDK时,会发生这些错误。
*** Terminating app due to uncaught exception 'GMSException', reason: 'Google Maps SDK for iOS requires GoogleMaps.bundle to be part of your target under 'Copy Bundle Resources''
但是,GoogleMaps.framework在拷贝包资源中。所以,我很困惑。请告诉我这个问题的原因。
答案 0 :(得分:174)
指示有点缺乏。我希望这有帮助...
将GoogleMaps.framework包拖到框架上 你的项目组。出现提示时, 选择复制项 目的地组的文件夹。
右键单击项目中的GoogleMaps.framework,然后选择Show In 发现者。 它没有说的是......然后进入名为Resources 的子文件夹
将GoogleMaps.bundle从Resources文件夹拖到您的 项目。我们建议将其放在Frameworks组中。什么时候 提示, 确保将项目复制到目标组的文件夹中 地选择。 强>
答案 1 :(得分:90)
对于搜索SO的2017年人来说,最简单的方法是尝试安装和更新您的pod当然是pod install
和pod update
。最后,通过这两个命令清理项目和构建:
Command + alt option + Shift + K
Command + Shift + K
然后瞧!崩溃不会再发生。
答案 2 :(得分:7)
对于那些在2017年使用Xcode 9(第一版)和新版本系统进行尝试的人,以下内容为我解决了这个问题。
注意:根本问题似乎是新的构建系统没有正确清理,因此您需要切换回旧系统。此外,截至9/25/17谷歌地方选择器正在调用主线程的UI并在Xcode中抛出错误。
- 切换到旧的构建系统
- 点击项目文件“我的应用名称”
-Under“TARGETS”点击您的应用名称(不是测试或UITests!)
- 建立阶段
- [CP]复制Pods资源
- 你应该看到$ {PODS_ROOT} / GoogleSomething,选择那些并点击 -
- 关闭Xcode,运行pod install。
- 打开Xcode,Command-Shift-K(清洁,并确保你在老建筑系统中!)
-Build / Run,现在应该可以使用
答案 3 :(得分:4)
运行" pod install"为我解决了这个问题。
答案 4 :(得分:2)
答案 5 :(得分:2)
我遇到同样的问题,请执行以下操作:
1. Go to derived folder and delete the project folder
2. Clean build and run
修正了问题
答案 6 :(得分:1)
一旦我更新到Xcode 9 Swift 3.2,我就会在AppDelegate的这一行中遇到崩溃:
GMSServices.openSourceLicenseInfo()
我一直在使用Glenn的答案清理那个肯定有效的项目,但最终崩溃仍在继续。
要解决这个问题,我必须按照Google Maps API Installation
中的说明进行操作关注:
第2步:安装SDK 和手动安装
这很容易做到,但有一点让我很困惑,所以我为了下一个人的清晰度而添加它:
一旦您阅读了手册说明,并在第4号上说:
4. Drag the following bundles into your project (when prompted, select Copy items if needed):
这个东西在你下载的zip文件里面,一旦你解压缩它,里面只有2个框架:
GoogleMaps.framework
GoogleMapsCore.framework
不会有GoogleMapsBase.framework
。我假设他们将它捆绑到GoogleMaps.framework
?
一旦到达8: Open the Build Phases tab, and within Link Binary with Libraries, add the following frameworks:
号码。它列出了您必须导入的许多框架。
当您解压缩该zip文件并将其拖入已压缩文件并将其拖入时,问题是列出的前三个已添加的内容(实际上已添加其中两个 - GoogleMaps.framework
和GoogleMapsCore.framework
)你的项目。
我一直在输入名字,什么都不会出现。
我从一开始就一直删除所有Google框架,并再次尝试,直到我意识到它们已经存在。基本上输入Accelerate.framework
- UIKit.framework
的所有内容的名称,您应该很好。
答案 7 :(得分:1)
对于我来说,手动安装中存在相同的问题。
1。右键单击项目中的GoogleMaps.framework,然后选择“在Finder中显示”。
注意:确保未选择“如果需要,复制项目”目标组的文件夹。参见屏幕截图。
现在清洁Command + Shift + K或Xcode->产品->清洁
这可能对某人有帮助。
答案 8 :(得分:0)
由于未捕获的异常“GMSException”而终止应用,原因是:'Google Maps SDK for iOS要求GoogleMaps.bundle成为“复制捆绑资源”下目标的一部分
GoogleMaps.bundle
中找到GoogleMap.frameword/Resources
,您会看到GoogleMap.bundle GoogleMaps.bundle
拖入Base/Framework
醇>
希望这可以提供帮助。感谢
答案 9 :(得分:0)
这样,我已经解决了问题。
1. Delete the derived folder.
2. pod update
3. Clean Project and build.
就这样