【问题标题】:Apple push notifications not arriving anymore苹果推送通知不再到达
【发布时间】:2014-11-01 14:47:30
【问题描述】:

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

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

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

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

这怎么可能?会发生什么?

【问题讨论】:

    标签: ios push-notification


    【解决方案1】:

    【讨论】:

    • 如果 PushSharp 和那两个 ​​OS X 推送测试器使用 SSL3,这可能是可能的。我怎样才能找到它?
    • 确实是问题所在,谢谢。我什至不知道这一点,似乎 PushSharp 已经更新了他们的库来修复它!我很不幸,这两个工具(我从 OS X 商店测试过)都没有解决这个问题,所以我认为还有另一个问题。
    【解决方案2】:

    这可能是因为,从 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)];
        }
    

    【讨论】:

    • 我的一台设备使用 iOS7,也没有收到通知,所以我无法想象这是问题所在?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-19
    • 2011-05-19
    • 2010-12-01
    • 1970-01-01
    相关资源
    最近更新 更多