1

このリンクGoogleMAPに従ってiOS6にGoogleマップを追加しようとする

API KEYを取得してアプリに配置しましたが、クラッシュし、「Google MAP SDK foriosは[GMSServicesProvideAPIKey:...]を介して初期化する必要があります」という理由が表示されます。

どんな体も私を助けてくれますか、私にそれをする方法をビデオで教えてください...

    #import "AppDelegate.h"
#import <GoogleMaps/GoogleMaps.h>
#import "ViewController.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
self.viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
[GMSServices provideAPIKey:@"AIzaSyBoOGGGQnvDydbKcxGeB1of6wu2ibE6Rjk"];

}
4

5 に答える 5

8

ここでステップ8を実行しましたか?

application:didFinishLaunchingWithOptions:もしそうなら、あなたはあなたのメソッドのコードであなたの質問を更新できますか?

アップデート:

この行の前のどこかで、呼び出しをメソッド[GMSServices provideAPIKey:]の上位に移動します。application:didFinishLaunchingWithOptions:

self.window.rootViewController = self.viewController;

この行は、ルートビューコントローラを設定します。これにより、を呼び出すことにより、ビューコントローラのルートビューが割り当てられloadViewます。GoogleのサンプルコードloadViewでは、を作成するものGMSMapViewであるため、現在のコードでは、APIキーを提供する前に作成しようとしていGMSMapViewます。これにより、iOS用のGoogleMapsSDKがクラッシュします。

また、ちなみに、[GMSServices provideAPIKey:]returnステートメントの後に呼び出しを行っていたため、呼び出されることはありませんでした。

于 2013-03-25T00:18:31.270 に答える
0

GMSServicesのprovideAPIKeyをdidFinishLaunchingWithOptionsの先頭に移動します。これにより、APIキーを提供する前に戻ってきたときに、問題が修正されます。

于 2013-03-25T04:46:09.603 に答える
0

移動してもエラーが発生する場合は、次のようにします。

ファイルGoogleMaps.bundleファイルをXcodeのフレームワークフォルダーにコピーします

「GoogleMaps.framework/Versions / A / Resources/GoogleMaps.bundle」

..そしてそれが「バンドルリソースのコピー」の下のターゲット(プロジェクトではなく)ビルドフェーズ設定にあることを確認します

于 2013-05-08T11:52:44.493 に答える
0

あなたの代わりにこのようにあなたの代理人を始めてください:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [GMSServices provideAPIKey:@"AIzaSyB2LJ2ppIVtkNh0lkG9J1tXW2RcHtI0FKY"];
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    //////

}
于 2014-02-27T04:50:54.220 に答える
0

私はこの行を移動しました:

[GMSServices provideAPIKey:@"myAPIKey"];

メソッドviewDidLoadで、これで機能します。

于 2014-12-14T12:54:05.137 に答える