Google Maps SDK for iOS要求GoogleMaps.bundle成为"复制捆绑资源"下目标的一部分

Joh*_*ode 63 iphone xcode google-maps ios google-maps-sdk-ios

当我为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''
Run Code Online (Sandbox Code Playgroud)

但是,GoogleMaps.framework在拷贝包资源中.所以,我很困惑.请告诉我这个问题的原因.

sbe*_*ley 179

说明有点缺乏.我希望这有帮助...

  1. 启动Xcode(简单)
  2. 将GoogleMaps.framework捆绑包拖到项目的Frameworks组.出现提示时,选择"将项目复制到目标组的文件夹".

  3. 右键单击项目中的GoogleMaps.framework,然后选择Show In Finder. 它没说的是......然后进入名为Resources的子文件夹

  4. 将GoogleMaps.bundle从Resources文件夹拖到项目中.我们建议将其放在Frameworks组中.出现提示时,确保未选中将项目复制到目标组的文件夹中.

  • 这是比我的更好的指示!谢谢 ! (4认同)
  • 我做了这个,我的应用程序仍然崩溃 (3认同)
  • 您在此处添加的内容现已反映在此处的官方文档中:https://developers.google.com/maps/documentation/ios/start#obtaining_an_api_key 也许 Google 的有人看到了这篇文章? (2认同)

Gle*_*enn 90

到2017年人民搜索上SO,最简单的方法确实尝试安装和课程的更新您的豆荚pod installpod update.最后,通过以下两个命令清理项目和构建:

  1. 清洁构建: Command + alt option + Shift + K
  2. 清洁项目: Command + Shift + K

瞧!崩溃不会再发生了.

  • 哦哇,谢谢!在Xcode 9.0 beta 2中再次发生在我身上. (4认同)
  • 是的,它有所帮助,但过了一段时间后,这个错误再次重复. (3认同)

小智 7

对于那些在2017年使用Xcode 9(第一版)和新构建系统进行尝试的人,以下内容为我解决了这个问题.

注意:根本问题似乎是新的构建系统没有正确清理,因此您需要切换回旧系统.此外,截至9/25/17谷歌地方选择器正在调用主线程的UI并在Xcode中抛出错误.

- 切换到旧的构建系统

单击项目文件"我的应用程序名称"

- 在"TARGETS"下点击您的应用名称(不是测试或UITests!)

- 建造阶段

- [CP]复制Pod资源

- 你应该看到$ {PODS_ROOT}/GoogleSomething,选择那些并点击 -

- 关闭Xcode,运行pod安装.

- 打开Xcode,Command-Shift-K(干净,并确保你在老建筑系统上!)

-Build/Run,现在应该可以工作了


Red*_*ing 6

如果您在此框架的更新版本中遇到此问题并且正在使用CocoaPods部署,请检查" 构建阶段 " 的" 复制窗格资源 "部分:

在此输入图像描述

显然这部分缺失是一件事,删除你的Pods目录并重新运行" pod install "不足以解决它.相反,你需要抓住这个方便的工具:

https://github.com/CocoaPods/cocoapods-deintegrate

运行这个东西,然后重新运行pod install,你的" Copy Pods Resources "部分应该回来了,当你实例化你的地图时你不会得到这个例外.