我的应用程序中的一个功能是在用户从应用程序注销时取消远程推送通知。当设备处于飞行(离线)模式时,是否有方法可以取消注册应用程序的推送通知,当用户注销时?
我尝试了这段代码,但当我重新联网时仍然收到通知, [[UIApplication sharedApplication] unregisterForRemoteNotifications];
有人能帮助我如何在设备处于飞行模式时从通知中心删除应用程序吗?
我的应用程序中的一个功能是在用户从应用程序注销时取消远程推送通知。当设备处于飞行(离线)模式时,是否有方法可以取消注册应用程序的推送通知,当用户注销时?
我尝试了这段代码,但当我重新联网时仍然收到通知, [[UIApplication sharedApplication] unregisterForRemoteNotifications];
有人能帮助我如何在设备处于飞行模式时从通知中心删除应用程序吗?
添加一个标志或类似的东西(可以随意命名,比如ShouldRecallUnregister),当您调用
[[UIApplication sharedApplication] unregisterForRemoteNotifications];
如果没有网络连接,则将其设置为YES,并在注销成功时保持为NO。
将其存储在UserDefaults中([[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"ShouldRecallUnregister"];
),并在applicationDidBecomeActive:
中检查其值,例如(或者在适合您的应用程序的任何地方)。
如果是YES,请再次调用[[UIApplication sharedApplication] unregisterForRemoteNotifications];
。