标题说明了一切......我在每次应用启动时都会调用 registerForRemoteNotificationTypes。它第一次工作得很好。得到了一个设备令牌,但我所做的只是 NSLog 它。
现在再次运行应用程序... didRegister* 和 didFail* 回调都没有被执行。我的代码/网络没有任何变化。
这是正确的行为吗?我在 StackOverflow 上看到了相互矛盾的答案。 这个 SO 答案意味着 didRegister* 回调应该每次都发生。有人说你永远不应该缓存设备令牌。好吧,那很好……但是我第一次得到令牌时没有对我的令牌做任何事情,所以现在它丢失了???通常,应用程序当然应该将令牌推送到我的推送通知服务器,但我只是在这里处于开发阶段并没有这样做。所以现在这个令牌丢失了,我的应用程序不会收到另一个?这似乎很奇怪,因为 Apple 文档说在每次应用启动时调用 registerForRemoteNotificationTypes!如果您每次都没有取回新的(或回收的)令牌,那么这有什么意义呢?还是这里发生了其他事情?