关于重置IOS App请求推送的授权请求

项目要加入推送通知。測试完本地通知后。发现測不了远程通知。于是想重置授权请求。

下面是重置授权请求的方法:

方法一:

通用->还原->抹掉全部内容和设置

可是第一种方法非常费时,抹掉内容预计得几十分钟。于是有了另外一种方法。


方法二:

将App从设备上删除

        将设备全然关机再又一次启动

打开 设置->通用->日期与时间里 将设备时间拔快一天以上
将设备再次全然关机再又一次启动

此时再安装你的App能够像纯新的流程一样进行測试全部授权。


在设置中查看你的App授权选项也是所有重置。


附上注冊通知的代码:


在AppDelegate的 didFinishLaunchingWithOptions方法中。加入代码:

UIApplication *app = [UIApplication sharedApplication];
        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
        
        if ([app respondsToSelector:@selector(registerUserNotificationSettings:)]) {
            NSLog(@"8.0注冊通知");
            [app registerUserNotificationSettings:settings];
        } else {
            NSLog(@"7.0及下面 注冊通知");
            [app registerForRemoteNotificationTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound];
        }

对于IOS8 ,新增了didRegisterUserNotificationSettings方法。

假设要注冊RemoteNotification,须要在此方法里加入注冊代码:

if (IS_IOS8) {
        [[UIApplication sharedApplication] registerForRemoteNotifications];
    }
否则,假设注冊通知没完毕,就加入

[[UIApplication sharedApplication] registerForRemoteNotifications]
会引起下面warning:

Attempting to schedule a local notification ..... with an alert but haven't received permission from the user to display alerts




原文地址:https://www.cnblogs.com/zhchoutai/p/6928368.html