私の知る限りでは、 APNS からデバイス トークンを取得すると、それを再び取得することはできません。(ただし、データを新しいデバイスまたはコンピューターにバックアップする場合、オペレーティング システムを再インストールする場合、または を呼び出すデバイス トークンが変更された場合は除くdidRegisterForRemoteNotificationsWithDeviceToken
)
そう、
デバイストークンが変更されるたびに、新しいデバイストークンをキーチェーンに置き換えて保存し、他の目的で失われるのを防ぎます (デバイストークンを UUID に使用するなど)。
キーチェーンのデータが消えたのにデバイストークンが変わらないということはありえますか?
(はいの場合。
didRegisterForRemoteNotificationsWithDeviceToken
再度呼び出されず、最後のデバイス トークンを取得できません。)または、イベントによりキーチェーンデータが消え、(一般的に) デバイストークンが変更されます (または
didRegisterForRemoteNotificationsWithDeviceToken
再度トリガーされます) ?私のテストでは、
A. iPhone の「すべての設定をリセット」では、キーチェーン データは消去されず、トリガーされません
didRegisterForRemoteNotificationsWithDeviceToken
。B. iPhone の「すべてのコンテンツと設定を消去」は、キーチェーン データを消去し、すべてのアプリを削除します。そのため、再度呼び出すアプリを再インストールすると
didRegisterForRemoteNotificationsWithDeviceToken
。ケースAとBは気にしません.OSバージョンの更新、OSの再インストール、または何らかのイベントにより、デバイストークンも変更されたと思います。
キーチェーンとデバイストークンの間の値の変化の正しい対応状態を知っている人はいますか?
ありがとう!!
アップデート
問題は、キーチェーンデータが消えたイベントが(一般的に)「didRegisterForRemoteNotificationsWithDeviceToken」を再びトリガーするかどうかです。
そうでない場合、どのイベントですか?