web-dev-qa-db-ja.com

デフォルトのトークンを取得できませんでしたエラーを修正するには?

enter image description here

IPhoneにインストールすると、このエラーが発生します。

34

Xcode8を使用した修正は、単に機能でキーチェーン共有を有効にすることでした

App.xcworkspaceファイルを開き、[ターゲット]> [機能]> [キーチェーン共有]を有効にするを選択します

28
yoziru_desu

この問題の考えられる理由:

  1. デバイスの日付は現在の日付に設定されていません。
  2. バンドルIDは、GoogleService-Infoで設定したものと同じではありません。
  3. 。p12証明書 Firebase Consoleにアップロードされたものは正しくありません。
26
Rachit Rawat

次のことを確認してください:

  • バンドルIDはGoogleService-Infoで設定したものと同じです
  • コード署名params(ターゲット=>ビルド設定=>コード署名)は修正され、Firebaseで設定したp12証明書ファイルと一致します。 enter image description here

また、これらのチュートリアルに従う必要があります。

そして、ユーザーに許可を求めることを忘れないでくださいそれをアプリに追加するだけです(たとえば、AppDelegateファイルまたは他のViewControllerに):

let notificationTypes: UIUserNotificationType = [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound]
let pushNotificationSettings = UIUserNotificationSettings(forTypes: notificationTypes, categories: nil)
application.registerUserNotificationSettings(pushNotificationSettings)
application.registerForRemoteNotifications()
11
Phil

私は同じ問題を持っていますデフォルトのトークンエラーを取得するのに失敗しました

そのため、Firebaseトークンをリクエストするときに時間を確認してください。

4
HiteshGs

開発APN証明書をFirebaseにアップロードしたことを確認してください。プロジェクトの設定=> CLOUD MESSAGINGタブに移動します。

1
Leap Bun

これでしばらく動けなくなってきましたが、私にとってそれを機能させることができなかったのは、セカンダリのファイアベースアプリを使用していたからです。私にはバグのように見えます。回避策として、追加のアプリを初期化する必要がありましたbeforeデフォルトアプリ(AppDelegate.m内):

//initialise the secondary app, for example:
NSString *logFirebaseOptionFile = [[NSBundle mainBundle] pathForResource:@"GoogleService-LOG-Info" ofType:@"plist"];
FIROptions *firebaseOptions = [[FIROptions alloc] initWithContentsOfFile:logFirebaseOptionFile];
NSString *logAppName = @"mybands_logs";
[FIRApp configureWithName:logAppName options:firebaseOptions];

//then the default app for FCM to work
[FIRApp configure];
1
eussam

まあ、私もこの同じ問題を抱えています。他の投稿で紹介されたソリューションを使用して修正することはできません。クライアントアプリFCM SDKとFCMサーバー間の通信がうまくいかないようです。

私の修正は、VPNにログインしたことです(中国本土では、これを行わないとGoogleサービスを使用できません)。その後、firebaseトークンを取得できました。

また、トークンの取得に失敗した場合。次回、[[FIRInstanceID instanceID] token]を使用してfirebaseトークンにアクセスしようとします。 Firebase SDKは、トークンがまだnilの場合、トークンの取得を再試行し、この試行が成功すると、トークン更新通知(kFIRInstanceIDTokenRefreshNotification)が送信されます。

1
Jiang Wang

このエラーを処理する前に、この行を修正する必要があります。

デフォルトトークンの取得に失敗しましたError Domain = com.firebase.iid Code = 0 "(null)"

この問題を解決するための回答があります

0
starlord_amj