APNS:无法验证 courier.sandbox.push.apple.com 的证书链 - 未调用 didRegisterForRemoteNotificationWithDeviceToken
Posted
技术标签:
【中文标题】APNS:无法验证 courier.sandbox.push.apple.com 的证书链 - 未调用 didRegisterForRemoteNotificationWithDeviceToken【英文标题】:APNS: Failed to validate certificate chain for courier.sandbox.push.apple.com - didRegisterForRemoteNotificationWithDeviceToken is not being called 【发布时间】:2016-07-19 08:39:20 【问题描述】:我已经在我的应用程序中实现了 apns,它一直工作到昨天没有任何问题。今天突然停止工作并且没有调用以下方法:
-(void) application:(UIApplication) applicaton didRegisterForRemoteNotificationWithDeviceToken:(nonnull NSData *) deviceToken;
我没有找到任何正当理由。我的 ios 版本是 9.3.2;
在设备日志中我看到以下错误消息:
无法验证证书链 courier.sandbox.push.apple.com
我将设备重置为出厂设置,但它不起作用。
有趣的是,apns 可以在我的其他具有相同 iOS 版本的设备上运行。
更有趣的是,在同一设备上,我的另一个测试推送应用程序(相同的代码复制和粘贴)工作正常。
有人有办法解决这个问题吗?
提前致谢。
【问题讨论】:
我的设备从今天开始遇到同样的问题,不知道如何解决。 另外,从今天开始,某些有效令牌的推送将不再接收。 看起来沙箱无法正常工作:forums.developer.apple.com/thread/52224 检查这个...***.com/a/38456437/4601170 @TheBronx 对,沙盒存在一些问题,因为生产工作正常......可能是由于一些更新或一些问题 【参考方案1】:我今天在 3 部测试手机上也发生了类似的问题,它们都运行 iOS 9.3.2。一个是 iPhone5,另一个是 iPhone 6。
在解决之前,以下见解可能有助于避免该问题:
我看到只有在使用开发证书签署应用程序时才会出现该问题。在生产环境中,一切似乎都按预期工作(对于常规 APNS 和 VoIP APNS)。
这个问题只能在我们的一款应用上重现。一个不同的应用,即使作为开发签名,也能按预期工作(即系统调用了 didRegisterForRemoteNotificationWithDeviceToken)。
在 iOS 8.4.1 手机上测试有问题的应用程序(常规 APNS 和 VoIP APNS)时,该问题无法重现。
2016 年 7 月 20 日更新: 这似乎是 APNS 沙盒环境中的临时问题,今天一切恢复正常。
【讨论】:
关于应用程序不工作和正常工作之间可能有什么区别的任何提示? 我能发现的唯一主要区别是,不工作的应用程序当前在 iTunes 连接上,而工作的应用程序不在。【参考方案2】:看来,这是苹果推送通知沙箱服务器的问题。今天它正在工作。
【讨论】:
以上是关于APNS:无法验证 courier.sandbox.push.apple.com 的证书链 - 未调用 didRegisterForRemoteNotificationWithDeviceToken的主要内容,如果未能解决你的问题,请参考以下文章
将 APNs 从证书升级到身份验证令牌是不是会使现有的 deviceToken 失效?
APNS:如果使用 Auth Key,是不是需要 APNS 证书?