web-dev-qa-db-ja.com

アプリにGoogleサインインを統合しようとしているときに「GoogleService-Info.plist」が見つかりません

私は従いました: 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は私のディレクトリにありますが、まだ動作していません。

14
Karan. S

私は同じ問題に直面しました。そして、実際には、cocoapodsファイルに「pod Google」ではなく「pod 'Google/SignIn'」を配置して解決しました。それがあなたにも役立つことを願っています。

9
  1. GoogleService-Info.plistファイルをプロジェクトのShared Resourcesなどの場所にドラッグアンドドロップする必要があります。ファイルを正常に追加したら、プロジェクトビルドに含めることも確認する必要があります。

Image showing the added resource

  1. プロジェクトの[ビルドフェーズ]セクションで、プロジェクトにGoogleService-Info.plistが含まれていることを再確認してください。 enter image description here

  2. ファイル名を再確認してください。ファイル名必須正確にGoogleService-Info.plistである一般的なスペルミスには、GoogleServices-Info.plistおよびGoogleService-info.plist-大文字と小文字を区別し、正確に名前を付けたもののみが機能します。

40
class

GCM_SENDER_IDのみを取得する場合は、次の回避策を試してください。

NSError* configureError;
[[GGLContext sharedInstance] configureWithError:&configureError];
NSString * gcmSenderID = [GGLContext sharedInstance].gcmSenderID;
NSLog(@"%@", gcmSenderID);
1

これは、Googleポッドを更新したときに起こります。 URLスキームの構成方法を変更しました。最善の方法は、Googleサインインを再構成することです。

0
Sohil