3

i just did everything right as mentioned here but Xcode still gives that error:

  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=0x8416b20 {data=<CFData 0x9187710 [0x27424d8]>{length = 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}}
2013-09-01 15:04:04.902 MyApp[1357:12e03] Your key may be invalid for your bundle ID: MyBundleID

So i 've googled it and got these: first result, second result, and it started to be boring from now on. Is there a way to make this mail thing faster, or am i doing wrong something still ?

4

3 回答 3

7

哦,我有答案了。也许有人需要它。只需从您的 API KEY 中清除 {} 这些标志,我的意思是它不应该像下面这样

[GMSServices provideAPIKey:@"{123123123}"];

它应该是这样的:

[GMSServices provideAPIKey:@"123123123"];
于 2013-09-01T12:26:15.403 回答
4

我建议仔细检查两件事:

  1. 请注意,Bundle Identifier 区分大小写。如果应用程序或谷歌开发控制台中的大写关闭,它将通过此​​错误。

    • 额外提示.. 您可以通过在 viewDidLoad 方法中包含类似于以下内容的日志来仔细检查应用程序的包标识符。
    NSLog(@"当前标识符:%@", [[NSBundle mainBundle] bundleIdentifier]);
  2. 确保您已将 API 密钥包含在您的应用程序委托中,如上面 Sercan Ozdemir 列出的那样。您的应用程序的委托文件应包含类似于下面的方法。

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
    {
        // 应用程序启动后自定义的覆盖点。
        [GMSServices 提供APIKey:@"INSERT_GOOGLE_API_KEY_HERE"];
        返回是;
    }
    
于 2013-09-05T05:01:57.463 回答
0

即使我做的一切都正确,我也面临同样的问题。我在选择框架时犯了一个错误。我使用了 GoogleMapsM4B.framework 而不是 GoogleMaps.framework。从这个链接中选择合适的框架后,我克服了这个错误。

这可能对某人有帮助。

于 2015-07-22T10:48:52.707 回答