Apple推送通知不再到达

经过一年多的PushSharp没有问题,我们的iOS应用程序用户突然不再收到任何推送通知了。 应用程序和APN证书仍然有效,我们的服务器端没有任何更改。

为了确保我创建了一个新的APN生产证书并将其上传到我们的推送服务器,这没有帮助。

此外,我已经测试了来自Mac OS X商店的两个独立的推送通知测试器应用程序(它们允许您添加证书,令牌和有效负载)并尝试从那里发送自己的推送消息。 所有尝试都会产生响应:“Payload已被推送”,“推送消息已发送”。

我的iPhone拒绝接收任何推送通知和我的所有其他设备。 我不知道出了什么问题,或者我如何调试此问题,因为我的服务器没有从Apple推送通知服务器检索任何错误。 它看起来似乎已经发送给Apple,但Apple似乎并没有将它们发送到用户的设备。

怎么可能? 可能发生了什么?

这可能是因为,从iOS 8开始,Apple已经改变了推送通知在您的应用中注册的方式。 新的方式是:

if([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) { [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; [[UIApplication sharedApplication] registerForRemoteNotifications]; } else { [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert)]; }