IOS unregisterForRemoteNotifications在飞行模式下不起作用

use*_*255 5 apple-push-notifications ios

我的应用程序的一个功能是当用户从应用程序注销时从远程推送注销中取消注册用户.当用户在飞机(离线)模式下退出时,我是否可以通过推送通知取消注册应用程序?

我尝试了这段代码但是当我回到网上时仍然会收到通知,[[UIApplication sharedApplication] unregisterForRemoteNotifications];

有人可以帮助当设备处于飞行模式时如何从通知中心删除应用程序?

rdu*_*and 0

当你调用时添加一个标志或类似的东西(无论你想怎么称呼它,比如ShouldRecallUnregister

[[UIApplication sharedApplication] unregisterForRemoteNotifications];

如果没有互联网连接,则设置为“是”;如果注销有效,则将其保留为“否”。

将其存储在UserDefaults ( [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"ShouldRecallUnregister"];) 中,并在applicationDidBecomeActive:例如(或最适合您的应用程序的任何地方)检查其值。

如果是,请[[UIApplication sharedApplication] unregisterForRemoteNotifications];再次致电。