问题:
该应用程序未出现在通知中心,并且在安装完成后无法立即收到推送通知,并且应用程序通过registerForRemoteNotificationTypes:
注册推送通知。
详细说明:
registerForRemoteNotificationTypes
)和UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound
注销时,应用都会调用方法UIRemoteNotificationTypeNone
。enabledRemoteNotificationTypes
会返回正确的值。unregisterForRemoteNotifications
方法,但我将其更改为registerForRemoteNotificationTypes:UIRemoteNotificationTypeNone
,因为怀疑这可能会导致问题。任何想法和建议将不胜感激。谢谢!
答案 0 :(得分:16)
我的一些设备发生了这种情况。 (没有出现在通知中心,也没有接到推送。)
通过执行以下操作来管理它:
对我们来说,它没有立即起作用,所以给它几分钟。
答案 1 :(得分:0)
从Apple's documentation开始,分别在登录/注销时注册和取消注册应用程序可能存在问题:
应用程序应在每次启动时进行注册,并为其提供者提供当前令牌。
不确定取消注册,他们没有提及在他们的编程指南中取消注册,也许应该永远不会注销应用程序,服务器应该处理它,通过发送或不发送推送通知,具体取决于用户是否登录。这就是我过去的做法,从未遇到过这个问题,所以也许这种方法也适合你。
答案 2 :(得分:0)
好吧,我也有这个问题,我发现由于应用程序在上次安装之前卸载之前使用了unregisterForRemoteNotifications。
此外,如果应用程序再次安装并登录以注册远程通知,则会出现此问题。
它也发生在第一次安装时(重置iOS设备后安装)。如果您在登录前使用unregisterForRemoteNotifications,然后在登录操作中注册,则会出现此问题。
发生此问题时,您需要重新启动iOS设备。
对于unregisterForRemoteNotifications,我们无法阻止此问题,但我们可以降低问题发生的概率,方法是:
如果设备令牌在上次安装时未从提供程序中删除,则在登录前使用当前安装时的unregisterForRemoteNotifications; 否则,您永远不应该使用unregisterForRemoteNotifications。