IOS10关于推送相关方法不执行的问题解决方法

在12月份某一天,后台接口突然反馈说推送的id没有上传,通过代码排查发现以下方法不执行了。

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken

-(void)application:(UIApplication*)application didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings。

解决方法如下:

在获取系统权限的地方,添加一段代码,手动去注册通知权限,修改如下:

UNUserNotificationCenter* center = [UNUserNotificationCentercurrentNotificationCenter];

[centerrequestAuthorizationWithOptions:(UNAuthorizationOptionAlert+UNAuthorizationOptionSound+UNAuthorizationOptionBadge)

completionHandler:^(BOOLgranted,NSError*_Nullableerror)

{

if(granted)

{

重点是这句话,在用户允许通知以后,手动执行regist方法。

[[UIApplicationsharedApplication]registerForRemoteNotifications];

}

}];

这些都是在项目开发过程中遇到过的问题,希望和各位大神相互交流,谢谢!

你可能感兴趣的:(IOS10关于推送相关方法不执行的问题解决方法)