過去数か月間機能していたGoogleAPIキーがありますが、昨日突然機能しなくなりました。これがエラーです。
2013-09-20 23:01:36.483 SampleApp[907:a0b] 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=0x18828d90 {data=<CFData 0x14d04c30 [0x6174ec8]>{length = 145, capacity = 256, bytes = 0x3c48544d4c3e0a3c484541443e0a3c54 ... 3c2f48544d4c3e0a}} 2013-09-20 23:01:36.484 SampleApp[907:a0b] Your key may be invalid for your bundle ID: com.company.SampleApp
APIキーを所有しているアカウントを見つけることができませんでした。 Google Maps APIチームに連絡して、アカウントの特定と問題の解決に役立つ情報をリクエストする方法はありますか?
ステップバイステップ
1.- go Google ApisConsole
2.- select Services and activate Google Maps SDK for iOS
3.- later select API Access and Create new iOS key with your bundle identifier example
com.example.myProject
4.- copy Api key in your Project [GMSServices provideAPIKey:@"kajshdklasjhdakls_LTcJWZqpRJ1BQmHxX9i0lI"]; on AppDelegate
幸運を
考えられる修正は次の2つです。
可能な修正1
行では、
[GMSServices provideAPIKey:@"{AIzaSyDCPXPLUkK3UVrLr9msaS6-EsZ6UHbVgEq}"];
aPIキーは中括弧で囲む必要があります。
可能な修正2
didFinishLaunchingWithOptions
のAppDelegate
メソッドでは、上記の行が表示されますbefore後ではなく、ルートビューコントローラーをインスタンス化します。
ちょうど私の2セント。動作しないAPIキーを生成した後、APIコンソールのサービスセクションでiOS向けGoogleマップを有効にしました。キーを削除して新しいキーを作成しました(これは多くのテストを行った後だったので、奇妙なことに間違いなく問題でした)。
私は解決策を見つけました、それはバンドル名の違いのために起こります、
アカウントからgooglemap ios sdkを有効にするだけで、中括弧は使用しないでください。簡単にgooglemapを読み込むことができます。
次のコードを使用します:NSLog(@"my bundle id is: %@", [[NSBundle mainBundle] bundleIdentifier]);
は、GoogleAPIで生成されたApiアクセスに必要なバンドル識別子を識別します。
例:プロジェクトのxコードのバンドル識別子はprojects.example.mymap
次に、同じものをコピーしてapiaccessに貼り付け、このapikeyを生成する必要があります。
問題が解決しない場合は、他のキーを作成して最後のキーを削除し、アプリで新しいキーを使用します。
幸運を!
私はこれとまったく同じ問題を抱えていましたが、結局ここで役に立たない答えを探しました。 Google ApisでAPIキーをコピーしていましたが、毎回「キーがバンドルID:comに対して無効である可能性があります」と表示されていました。エラー。
そこで、APIキーを手動で入力してみることにしましたが、Voilàは機能しました。間違いなく一撃の価値があります。おそらく、コピー/貼り付けを介して渡される特殊文字があるかもしれません。
このページのほとんどすべての答えは同じことを言っています..これはグーグルマップsdkの指示とまったく同じことです ページ ..
誰も言及していないことの1つは、このキーがWeb上で伝播するのに時間がかかる場合があることです(つまり、アプリですぐに認識されない場合があります)。少し待ってください。
また、少し違うことがわかったのは、バンドル識別子の先頭にcomを追加しなかったnotということです。これも試すことができます。