经过一年多的PushSharp没有问题,我们的iOS应用用户突然再也没有收到任何推送通知了。应用程序和APN证书仍然有效,我们的服务器端没有任何更改。
为了确保我创建了一个新的APN制作证书并将其上传到我们的推送服务器,但没有帮助。
此外,我已经测试了来自Mac OS X商店的两个独立推送通知测试器应用程序(它们允许您添加证书,令牌和有效负载)并尝试从那里发送自己的推送消息。所有尝试都会产生响应:“Payload已被推送”,“推送消息已发送”。
我的iPhone拒绝接收任何推送通知以及我的所有其他设备。我不知道出了什么问题,或者我如何调试此问题,因为我的服务器没有从Apple推送通知服务器检索任何错误。它似乎总是发送给Apple的消息,但Apple似乎并没有将它们发送到用户的设备。
怎么可能?可能发生了什么?
答案 0 :(得分:1)
可能是因为Apple取消了对SSL 3.0的支持 - http://news.softpedia.com/news/Apple-Push-Notification-Service-To-Drop-Support-for-Buggy-SSL-3-0-462950.shtml
答案 1 :(得分:1)
可能是因为,从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)];
}