IOS – ObjC Google Maps API密钥

我只是做了一切正确的提到这里,但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 

所以我search了一下,得到了这些: 第一个结果 , 第二个结果 ,从现在开始很枯燥。 有没有办法让这个邮件的事情更快,或者我做错了什么仍然?

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

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

应该是这样的:

 [GMSServices provideAPIKey:@"123123123"]; 

两件事情,我会build议双重检查:

  1. 请注意,Bundle标识符区分大小写。 如果大写在应用程序中,或在谷歌开发控制台,它会通过这个错误。

    • 额外的提示..你可以通过在你的viewDidLoad方法中包含类似以下的日志来检查你的应用程序的包标识符。
      NSLog(@“当前标识符:%@”,[[NSBundle mainBundle] bundleIdentifier]); 
  2. 确保你已经在上面的Sercan Ozdemir列出的应用程序委托中包含API密钥。 你的应用程序的委托文件应该包含一个类似于下面的方法。

      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
     {
         //覆盖应用程序启动后的自定义点。
         [GMSServices providesAPIKey:@“INSERT_GOOGLE_API_KEY_HERE”];
        返回YES;
     }
    

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

这可能对某人有帮助。