注册推送的方式
//注册推送 if (@available(iOS 10.0, *)) { // iOS10及以上注册远程通知的方法 UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; // 必须写代理,不然无法监听通知的接收与点击 center.delegate = self; [center requestAuthorizationWithOptions:UNAuthorizationOptionAlert | UNAuthorizationOptionBadge | UNAuthorizationOptionSound completionHandler:^(BOOL granted, NSError * _Nullable error) { if (granted) { // 点击允许 NSLog(@"注册成功"); [center getNotificationSettingsWithCompletionHandler:^(UNNotificationSettings * _Nonnull settings) { NSLog(@"%@", settings); }]; } else { // 点击不允许 NSLog(@"注册失败"); } }]; [[UIApplication sharedApplication] registerForRemoteNotifications]; } else if (@available(iOS 8.0, *)) { // iOS8-iOS10注册远程通知的方法 UIUserNotificationType types = UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound; UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil]; [[UIApplication sharedApplication] registerUserNotificationSettings:mySettings]; [[UIApplication sharedApplication] registerForRemoteNotifications]; } else { // 在iOS8之前注册远程通知的方法,如果项目中要支持iOS8之前的版本,必须要写此方法 UIRemoteNotificationType types = UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound; [[UIApplication sharedApplication] registerForRemoteNotificationTypes:types]; }