IOS - ObjC Google Maps Api Key

时间:2013-09-01 12:10:29

标签: iphone ios objective-c google-maps google-maps-sdk-ios

我刚刚提到了here提到的所有内容,但Xcode仍然提供了错误:

  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

所以我用Google搜索并获得了这些:first resultsecond result,从现在开始它就开始变得无聊了。有没有办法让这个邮件更快,或者我还做错了什么?

3 个答案:

答案 0 :(得分:7)

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

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

应该是这样的:

[GMSServices provideAPIKey:@"123123123"];

答案 1 :(得分:4)

我建议仔细检查两件事:

  1. 请注意,Bundle Identifier区分大小写。如果应用程序或Google开发控制台中的大小写已关闭,则会出现此错误。

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

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:  (NSDictionary *)launchOptions
    {
        // Override point for customization after application launch.
        [GMSServices provideAPIKey:@"INSERT_GOOGLE_API_KEY_HERE"];
        return YES;
    }
    

答案 2 :(得分:0)

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

这可能对某人有帮助。