17

我已使用Google Developers Console将 Google Maps SDK 与 iOS 集成。

但是当我现在运行该应用程序时,它给了我以下错误。

ClientParametersRequest 失败,剩余 3 次尝试(0 对 5)。

Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed.(com.google.HTTPStatus error 400.)" UserInfo=0xb83c2a0 {data=<CFData 0xc13d600 [0xe7a4d8]>{length = 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}

然后它说

Google Maps `SDK` for `iOS` cannot connect or validate APIKey: 
Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. 
(com.google.HTTPStatus error 400.)" UserInfo=0x94bf990 {data=<CFData 0x907df90 [0xe7a4d8]>
{length = 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}

我已经请求了密钥,并且我正在使用相同的 40 个字符的密钥。我也尝试过重新生成密钥然后使用它。我在网上搜索过,有人说应该在“服务”中启用“google SDK for iOS”。在我的情况下,这也是启用的。

但没有任何效果。有人见过同样的问题吗?

4

5 回答 5

22

我的捆绑包不正确。我在 Google Maps Console 上更改了捆绑包,然后生成了一个新密钥。

于 2013-08-30T01:46:44.770 回答
4

您只需要验证您的密钥是否正确,以及您的包标识符是否在 google api 管理器中正确......为此,您可以轻松检查您的包标识符,将这一行放入一些初始 viewController viewDidLoad ..

NSLog(@"Current identifier: %@", [[NSBundle mainBundle] bundleIdentifier]);

如果一切正常,并且您的问题仍然存在,请稍等...密钥需要大约 1 到 2 小时才能启动,并且忘记启用密钥后谷歌电子邮件您的事情.. 他们就是不这样做!

于 2013-11-21T10:14:53.333 回答
3

我在 API KEY 上遇到了同样的问题,直到我意识到我在 API KEY 初始化中使用了不必要的括号。一定要写如下内容:

[GMSServices provideAPIKey:@"XXXXXX"];

代替:

[GMSServices provideAPIKey:@"{XXXXXX}"];
于 2013-08-07T07:33:06.567 回答
2

问题原因:

原因 1:可能是 google 控制台的 bundle id 和您的应用程序不匹配。(应用程序 bundle id 和 google 控制台 bundle id 应该相同)。

解决方案:步骤 a:转到 google 控制台并使用您的应用程序 google 帐户登录。

查找密钥::打开谷歌控制台 > 选择您的项目 > API & Auth > 凭据

b:更改 bundle id 并重新生成 key 。

c:用新生成的密钥替换以前的密钥。 [GMSServices 提供APIKey:@"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];

原因 2:可能 key 与您的 google console key 不匹配。

解决方案:只需将您的应用程序密钥替换为 google 控制台密钥。 [GMSServices提供APIKey:@"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"];

注意:确保您的应用程序包 ID 和谷歌控制台包 ID 相同。

于 2015-03-16T09:49:08.077 回答
0

对于未来的谷歌员工——就像许多人提到的那样,这可能归因于捆绑 ID,在我的情况下,即使 iTunes Connect 上的捆绑标识符与谷歌控制台上的标识符匹配,我的实际应用程序在 XCode 中的 General/Identity/ 下具有不同的标识符Bundle Identifier,id必须在Xcode、iTunes Connect、Member Center、Google Console和Xcode中保持一致。

于 2016-01-23T23:39:25.843 回答