我正在测试我的 iOS 应用程序,我发现一件有趣的事情,即使我的手机处于飞行模式并且我也关闭了 WIFI,我的应用程序能够在注册推送通知后接收设备令牌。
即使在从 iPhone 中删除应用程序及其相关证书后,我也尝试过。
但得到了相同的结果。
怎么可能,有什么想法吗?
提前致谢。
我正在测试我的 iOS 应用程序,我发现一件有趣的事情,即使我的手机处于飞行模式并且我也关闭了 WIFI,我的应用程序能够在注册推送通知后接收设备令牌。
即使在从 iPhone 中删除应用程序及其相关证书后,我也尝试过。
但得到了相同的结果。
怎么可能,有什么想法吗?
提前致谢。
这是来自 APNS 编程指南:
通过在每次启动应用程序时请求设备令牌并将其传递给提供者,您可以帮助确保提供者拥有设备的当前令牌。如果用户将备份还原到为其创建备份的设备或计算机之外的设备或计算机(例如,用户将数据迁移到新设备或计算机),他或她必须至少启动一次应用程序才能使其恢复再次收到通知。如果用户将备份数据恢复到新设备或计算机,或重新安装操作系统,则设备令牌会更改。此外,永远不要缓存设备令牌并将其提供给您的提供商;始终在需要时从系统获取令牌。 如果您的应用程序之前已注册,则调用 registerForRemoteNotificationTypes: 会导致操作系统立即将设备令牌传递给委托,而不会产生额外的开销。
这意味着如果您的应用程序已注册推送通知,则调用registerForRemoteNotificationTypes
不会访问 APNS 服务器。
您卸载该应用程序的事实并没有从 APNS 取消注册它。您可以通过在卸载应用程序后立即调用反馈服务来向自己证明这一点。在这种情况下,您不会从反馈服务中获取设备令牌,因为 APN 服务不知道您卸载了该应用程序。只有在您卸载应用后向设备发送通知时,APN 服务才会知道应用已被卸载。