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议双重检查:
-
请注意,Bundle标识符区分大小写。 如果大写在应用程序中,或在谷歌开发控制台,它会通过这个错误。
- 额外的提示..你可以通过在你的viewDidLoad方法中包含类似以下的日志来检查你的应用程序的包标识符。
NSLog(@“当前标识符:%@”,[[NSBundle mainBundle] bundleIdentifier]);
-
确保你已经在上面的Sercan Ozdemir列出的应用程序委托中包含API密钥。 你的应用程序的委托文件应该包含一个类似于下面的方法。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //覆盖应用程序启动后的自定义点。 [GMSServices providesAPIKey:@“INSERT_GOOGLE_API_KEY_HERE”]; 返回YES; }
即使我正确地做了一切,我也面临同样的问题。 我在select框架时犯了一个错误。 我采取了GoogleMapsM4B.framework而不是GoogleMaps.framework。 从这个链接中select合适的框架后,我克服了这个错误。
这可能对某人有帮助。