注销时取消注册远程通知

War*_*shi 4 objective-c push-notification ios swift

关于 unregisterForRemoteNotifications

来自苹果医生

您应该在极少数情况下调用此方法,例如当新版本的应用程序删除对所有类型的远程通知的支持时.用户可以通过"设置"应用的"通知"部分暂时阻止应用接收远程通知.通过此方法取消注册的应用程序始终可以重新注册.

有些人说:

调用它有时会使app处于调用registerForRemoteNotifications不再有效的状态.

为什么apple告诉我们极少数情况下使用它,并给出了一个极端的例子,如果新版本的应用程序完全删除推送通知支持.它不适合退出按钮操作吗?

在我们的应用中,用户可以使用多个设备登录 如果unregisterForRemoteNotifications运作良好会容易得多.有人unregisterForRemoteNotifications在退出按钮上使用?

har*_*esh 7

是的,您可以unregisterForRemoteNotifications在注销时使用.

此功能用于取消注册Apple Store的所有通知.

您始终可以重新注册通知registerForRemoteNotifications并开始接收推送通知.并且您可能需要在成功登录时执行此操作.

如果你仔细阅读Apple Doc中的那句话而不是最后一行清楚地说明了这一点 Apps unregistered through this method can always re-register.

他们建议开发人员,如果他们不想在一段时间内收到推送通知,他们只是简单地禁用设置.但是对于登录和注销会话,您通过调用正确地进行操作 unregisterForRemoteNotifications

并且新版本将在您注销后停止接收通知方式,在您重新注册之前,您将永远不会收到任何通知.