我创建了一个使用远程通知服务的应用程序, 并准备一个Web服务来收集devicetoken和一些设备数据。 完美地工作,没有问题。
但是,我意识到一些奇怪的事情。 (考虑远程通知服务的工作原理时,也许并不是那么奇怪)当用户第一次在设备上安装应用程序时, 在第一次运行期间,会出现一个警告对话框,并要求用户接受远程通知。
我认为,如果用户不允许远程通知,则不会创建devicetoken,
因此,在此之后永远不会调用didregisterforremotenotificationwithdevicetoken
方法。
但是,如果用户在首次运行应用程序时允许通知,则会创建devicetoken
。
用户运行应用程序时调用didregisterforremotenotificationwithdevicetoken
方法,
甚至用户稍后在通知中心关闭所有远程通知。
所以,在第一种情况下,
如果用户在开始时不允许远程通知,
如何在没有设备的情况下拨打didregisterforremotenotificationwithdevicetoken
?
答案 0 :(得分:0)
如果用户不允许,您将永远不会获得设备令牌(这就是首先询问用户的原因)。你也不能发送通知..
相反,您可以对application:didFailToRegisterForRemoteNotificationsWithError:
另请注意,设备令牌可能会不时重新生成。
了解更多相关信息