0

リモート通知サービスを使用するアプリケーションを作成し、devicetoken といくつかのデバイス データを収集するための Web サービスも準備します。問題なく動作しており、問題ありません。

しかし、私は奇妙なことに気づきました。(リモート通知サービスの動作原理を考えると、それほど変ではないかもしれません)

ユーザーが初めてデバイスにアプリケーションをインストールするとき、および最初の実行時に警告ダイアログが表示され、リモート通知に対するユーザーの同意を求めます。

ユーザーがリモート通知を許可しない場合、devicetoken は作成されず、その結果、didregisterforremotenotificationwithdevicetokenその後メソッドが呼び出されることはないと思います。

ただし、ユーザーがアプリケーションの最初の実行中に通知を許可した場合devicetokenは作成されます。ユーザーがアプリケーションを実行すると、didregisterforremotenotificationwithdevicetokenメソッドが呼び出されます。ユーザーは後で通知センターですべてのリモート通知をオフにします。

したがって、最初のシナリオで、ユーザーが最初にリモート通知を許可しない場合、didregisterforremotenotificationwithdevicetokendevicetoken なしで呼び出すにはどうすればよいですか?

4

1 に答える 1

0

ユーザーが許可しない場合、デバイス トークンを取得することはありません (これが、ユーザーが最初に尋ねられる理由です)。通知を送信することもできません..
代わりに、に反応することができますapplication:didFailToRegisterForRemoteNotificationsWithError:

また、デバイス トークンは時々再生成される可能性があることに注意してください。

詳細については、https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW2を参照してください。

于 2012-03-06T11:20:48.810 に答える