私は従いました: GoogleサインインをiOSアプリに統合する
ただし、アプリを実行すると、アプリのデリゲート自体で停止します。最初のView Controllerが表示される前でもです。
その理由は、これらの数行のコードが"application didFinishLaunchingWithOptions withOptions
":
"NSError* configureError;
[[GGLContext sharedInstance] configureWithError: &configureError];
NSAssert(!configureError, @"Error configuring Google services: %@", configureError);
[GIDSignIn sharedInstance].delegate = self;"
デバッグでは、このコードに到達すると、
「キャッチされない例外 'NSInternalInconsistencyException'によるアプリの終了、理由: 'Googleサービスの構成エラー:Error Domain = com.google.greenhouse Code = -200 "GGLを構成できません。" UserInfo = 0x7ff9c2e1d000 {NSLocalizedRecoverySuggestion = GoogleServiceのフォーマットと場所を確認-Info.plist。、NSLocalizedDescription = GGLを設定できません。NSLocalizedFailureReason=指定されたGoogleService-Info.plistを解析できません。詳細はログを参照してください。} '"。
GoogleService-Info.plist
は私のディレクトリにありますが、まだ動作していません。
私は同じ問題に直面しました。そして、実際には、cocoapodsファイルに「pod Google」ではなく「pod 'Google/SignIn'」を配置して解決しました。それがあなたにも役立つことを願っています。
GoogleService-Info.plist
ファイルをプロジェクトのShared Resources
などの場所にドラッグアンドドロップする必要があります。ファイルを正常に追加したら、プロジェクトビルドに含めることも確認する必要があります。プロジェクトの[ビルドフェーズ]セクションで、プロジェクトにGoogleService-Info.plist
が含まれていることを再確認してください。
ファイル名を再確認してください。ファイル名必須正確にGoogleService-Info.plist
である一般的なスペルミスには、GoogleServices-Info.plistおよびGoogleService-info.plist-大文字と小文字を区別し、正確に名前を付けたもののみが機能します。
GCM_SENDER_IDのみを取得する場合は、次の回避策を試してください。
NSError* configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];
NSString * gcmSenderID = [GGLContext sharedInstance].gcmSenderID;
NSLog(@"%@", gcmSenderID);
これは、Googleポッドを更新したときに起こります。 URLスキームの構成方法を変更しました。最善の方法は、Googleサインインを再構成することです。