启动我的应用程序并通过
注册远程通知时[[UIApplication sharedApplication] registerForRemoteNotifications];
我得到一个沙盒推送 token ,这是在开发模式下运行应用程序时所期望的。当我按下主页按钮并再次打开应用程序时,该方法再次被触发,但是返回的设备 token 是
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
突然变成了生产推送 token 。
我每次都能重现。需要明确的是,这发生在应用程序运行时。这是 Apple 的 APN 错误,还是有办法在运行时检查 token 是否为沙盒 token ?
最佳答案
我知道这有点过时了,但遇到了类似的情况,设备没有注册到沙箱。我们可以使用部署配置文件推送给它,没问题。
经过一系列搜索和查看,我们的 App ID 上的推送通知被禁用,不得不重新打开它们。我们没有关闭它们。
https://developer.apple.com/account/ios/certificate
标识符/AppId 选择您的应用及其推送通知
之后通过 XCode\Preferences\Accounts 下载更新的配置文件 然后确保它在应用程序中打开。在 Xcode 中单击您的应用程序以显示该项目。然后在目标中再次选择它。从顶部选择功能并确保推送通知已打开。还要仔细检查build设置中的代码签名。这为我们修好了。祝你好运。
关于ios - APN 返回生产推送 token 而不是沙箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36049311/