GoogleMaps(GMSView)不会在iOS中显示

我已经纳入了以下内容:

  1. 尝试通过Obj-C桥接头导入GoogleMaps/GoogleMaps.h以及GoogleMapsM4B/GoogleMaps.h文件
  2. 在我的AppDelegate.swift (didFinishLaunchingWithOptions)方法中手动inputiOS API密钥。
  3. 清理项目(命令+ shift + k)
  4. closures/重新启动Xcode
  5. 卸载/重新安装Xcode

和其他人所build议的几乎一样。 我花了两天的时间试图解决这个问题。 有谁知道这个问题的解决scheme?

控制台投诉是:

 > "2015-08-17 18:02:19.899 Project[608:10014] ClientParametersRequest > failed, 3 attempts remaining (0 vs 6). Error > Domain=com.google.HTTPStatus Code=400 "The operation couldn't be > completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790bc050 > {data=<CFData 0x7925cb40 [0x22da9a8]>{length = 145, capacity = 256, > bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}} > 2015-08-17 18:02:19.899 randoPracty[608:10014] Google Maps SDK for iOS > (M4B) version: 1.10.17867.0 2015-08-17 18:02:19.959 > randoPracty[608:10014] ClientParametersRequest failed, 2 attempts > remaining (0 vs 6). Error Domain=com.google.HTTPStatus Code=400 "The > operation couldn't be completed. (com.google.HTTPStatus error 400.)" > UserInfo=0x7925cf40 {data=<CFData 0x79187b20 [0x22da9a8]>{length = > 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... > 3c2f48544d4c3e0a}} 2015-08-17 18:02:24.406 randoPracty[608:10014] > ClientParametersRequest failed, 1 attempts remaining (0 vs 6). Error > Domain=com.google.HTTPStatus Code=400 "The operation couldn't be > completed. (com.google.HTTPStatus error 400.)" UserInfo=0x790f4c60 > {data=<CFData 0x786e5610 [0x22da9a8]>{length = 145, capacity = 256, > bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}} > 2015-08-17 18:02:32.797 randoPracty[608:10014] ClientParametersRequest > failed, 0 attempts remaining (0 vs 6). Error > Domain=com.google.HTTPStatus Code=400 "The operation couldn't be > completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390 > {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256, > bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}} > 2015-08-17 18:02:32.797 randoPracty[608:10014] Google Maps SDK for iOS > (M4B) cannot connect or validate APIKey: Error > Domain=com.google.HTTPStatus Code=400 "The operation couldn't be > completed. (com.google.HTTPStatus error 400.)" UserInfo=0x7925b390 > {data=<CFData 0x790f3760 [0x22da9a8]>{length = 145, capacity = 256, > bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}} > 2015-08-17 18:02:32.798 randoPracty[608:10014] Your key may be invalid > for your bundle ID: com.User.ProjectName" 

我也面临同样的问题。 首先按照下面的步骤。

  1. 你有这个链接中提到的所有步骤吗?

  2. 虽然您无法通过,但请检查您的Bundle标识符是否与您用来创build密钥的标识符匹配。

如果一切顺利,问题在于框架。 最初我也使用了GoogleMapsM4B框架。 我从这个链接下载了对我来说工作正常的其他框架。

添加新的框架( GoogleMaps.framework ),并从项目中删除GoogleMapsM4B框架。 这解决了我的问题。 希望这可以帮助你。

编辑:

从版本1.10开始,仅通过cocoapods支持框架安装。 以前版本的所有zip下载都被删除了。 在此链接中阅读“版本1.10.0 – 2015年5月”中的“从1.9.2或更早版本迁移:”部分。

只需在Google Developers Console中为您的项目启用“Google Maps SDK for iOS”即可。

我有同样的问题。 就我而言,我不得不在Google Googles API Library的Overview部分手动激活适用于iOS的Google Maps SDK和适用于iOS的Google Places SDK。

如何激活它的步骤是:

  1. 转到API库中的概述页面。
  2. 在此处select适用于iOS的Google Maps SDK适用于iOS的 Google Places SDK

在这里输入图像说明

  1. 在左上方select第二个项目。 在截图现在启用。 在它被禁用之前。

在这里输入图像说明

也许这也帮助别人。

亲切的问候马特

你可以更新你的问题提供更多的细节? (xcode版本,Google Maps Framework版本等)

  1. 在console.developer.google.com上仔细检查您的API密钥对您的捆绑包ID是否有效
  2. 运行时,请检查并查看控制台中是否发生SSL错误。 就我而言,我遇到了Google的证书问题,这干扰了我的地图切片加载。
  3. 确保你的项目只有M4B框架或正常的框架。 如果你们两个都包括在内,我很确定他们是相互冲突的。

希望这有助于; 它只是随机开始在我的情况下正确工作。

检查在Xcode项目目标设置中指定的Bundle标识符以及您创buildGoogle API密钥的Google项目页面。 两者都应该匹配否则GMSServices.provideAPIKey(googleMapsAPiKey)将通过,但你会得到连接错误

操作无法完成。 (com.google.HTTPStatus错误400.)