Ios 使用unregisterForRemoteNotifications后,registerusernotificationsettings不起作用

Ios 使用unregisterForRemoteNotifications后,registerusernotificationsettings不起作用,ios,objective-c,push-notification,apple-push-notifications,Ios,Objective C,Push Notification,Apple Push Notifications,我想在我的应用程序中使用类似于推送通知禁用器和启用器的功能。我使用这样的代码。此外,我还激活了-(BOOL)应用程序中的通知:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项,代码来自发送方.isOn if(sender.isOn){ self.notificationLabel.text=@“已启用通知”; UIUserNotificationType allNotificationTypes=(UIUserNotificationTypeSou

我想在我的应用程序中使用类似于推送通知禁用器和启用器的功能。我使用这样的代码。此外,我还激活了
-(BOOL)应用程序中的通知:(UIApplication*)应用程序使用选项完成启动:(NSDictionary*)启动选项
,代码来自
发送方.isOn

if(sender.isOn){
self.notificationLabel.text=@“已启用通知”;
UIUserNotificationType allNotificationTypes=(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge);
UIUserNotificationSettings*设置=[UIUserNotificationSettings设置类型:所有NotificationTypes类别:nil];
[[UIApplication sharedApplication]注册表通知设置:设置];
[[UIApplication sharedApplication]注册表项的删除];
}否则{
self.notificationLabel.text=@“通知已禁用”;
[[UIApplication sharedApplication]注销远程通知];
}

但是在第一次使用后,
取消注册远程通知
我的应用程序没有使用
注册远程通知
初始化通知。我不明白我做错了什么。

解决方案:卸载应用程序并删除代码

我花了好几个小时和3台坏掉的测试设备才找到这台

这一行不好

[[UIApplication sharedApplication] unregisterForRemoteNotifications] //DON'T DO IT!
[[UIApplication sharedApplication] registerForRemoteNotifications] //CALL ME ONCE!
它使应用程序处于不稳定状态,调用
registerforremotentifications
不再有效

这条线同样很讨厌:

[[UIApplication sharedApplication] unregisterForRemoteNotifications] //DON'T DO IT!
[[UIApplication sharedApplication] registerForRemoteNotifications] //CALL ME ONCE!
每次运行应用程序时,您必须调用它一次,而且只能调用一次。如果您碰巧调用它两次,通知将神秘地中断