IOS:当用户不允许远程通知时,为什么没有创建devicetoken

时间:2012-03-06 11:16:47

标签: ios apple-push-notifications devicetoken

我创建了一个使用远程通知服务的应用程序, 并准备一个Web服务来收集devicetoken和一些设备数据。 完美地工作,没有问题。

但是,我意识到一些奇怪的事情。 (考虑远程通知服务的工作原理时,也许并不是那么奇怪)

当用户第一次在设备上安装应用程序时, 在第一次运行期间,会出现一个警告对话框,并要求用户接受远程通知。

我认为,如果用户不允许远程通知,则不会创建devicetoken, 因此,在此之后永远不会调用didregisterforremotenotificationwithdevicetoken方法。

但是,如果用户在首次运行应用程序时允许通知,则会创建devicetoken。 用户运行应用程序时调用didregisterforremotenotificationwithdevicetoken方法, 甚至用户稍后在通知中心关闭所有远程通知。

所以,在第一种情况下, 如果用户在开始时不允许远程通知, 如何在没有设备的情况下拨打didregisterforremotenotificationwithdevicetoken

1 个答案:

答案 0 :(得分:0)

如果用户不允许,您将永远不会获得设备令牌(这就是首先询问用户的原因)。你也不能发送通知..
相反,您可以对application:didFailToRegisterForRemoteNotificationsWithError:

作出反应

另请注意,设备令牌可能会不时重新生成。

您可以在https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW2

了解更多相关信息