didRegisterForRemoteNotificationsWithDeviceToken が呼び出されたときと似ていますか? .
ユーザーが最初にアプリをインストールし、通知を受け入れるかどうかを尋ねたときに、ユーザーがそれを受け入れるdidRegisterForRemoteNotificationsWithDeviceTokenと呼び出されますか?
registerForRemoteNotificationTypes現在、ユーザーが正常にサインインまたはアカウントを作成した後に電話しています。
その後の起動では、AppDelegatedidRegisterForRemoteNotificationsWithDeviceTokenを呼び出さなくてもデリゲートが呼び出されます。registerForRemoteNotificationTypes
ドキュメントとサンプルコードに従うと:
アプリケーションが起動するたびにデバイス トークンを要求してプロバイダーに渡すことで、プロバイダーがデバイスの最新のトークンを確実に取得できるようになります。
- (void)applicationDidFinishLaunching:(UIApplication *)app {
// other setup tasks here....
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:...
}
ただし、アプリの起動時にトークンを要求すると、デリゲートが 2 回呼び出されます。
いくつかの質問と明確さが必要です。
最初のプロンプト
registerForRemoteNotificationTypesが表示されるようにするには、プロンプトを表示するために呼び出しを行う必要がありますか? ただし、これを AppDelegate で手動で呼び出すと、デリゲートが 2 回呼び出されます。果たしてその通りでしょうか。ユーザーが最初のプロンプトを受け入れると、
didRegisterForRemoteNotificationsWithDeviceToken自動的に呼び出されますか? それともregisterForRemoteNotificationTypes、AppDelegate で呼び出す必要がありますか? しかし、その後、デリゲートは将来の起動のために 2 回呼び出されますか?ユーザーが拒否し、後で設定を介してそれを受け入れた場合、どうなりますか?
アップデート
0. 最初のプロンプトregisterForRemoteNotificationTypesが表示されるようにするには、プロンプトを表示するために呼び出しを行う必要がありますか? ただし、これを AppDelegate で手動で呼び出すと、デリゲートが 2 回呼び出されます。果たしてその通りでしょうか。 これは正しくありません。registerForRemoteNotiicationTypesAppDelegate で実際に 2 つ作成されていることがわかりました。