Я использую APNs и это отлично работает на прошивке 9. С новых изменениями толчка API на iOS10 я не могу зарегистрировать для нажимного уведомления, поэтому я вставить следующие изменения:IOS Push уведомление
- Включить уведомление толчка в вкладку целевых возможностей.
В didFinishLaunchingWithOptions мы проверяем версию ОС и зарегистрировать как следует:
if (SYSTEM_VERSION_GRATERTHAN_OR_EQUALTO(@"10.0")) { //ios 10 Notifiction UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter]; center.delegate = self; [center requestAuthorizationWithOptions:(UNAuthorizationOptionSound | UNAuthorizationOptionAlert | UNAuthorizationOptionBadge) completionHandler:^(BOOL granted, NSError * _Nullable error){ if(!error){ [[UIApplication sharedApplication] registerForRemoteNotifications]; NSLog(@"iOS 10 push notification register successfully "); } }]; } else { // iOS 8-9 Notifications [[UIApplication sharedApplication] registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; [[UIApplication sharedApplication] registerForRemoteNotifications]; NSLog(@"iOS 9 push notification register successfully "); }
С этими изменениями мне удалось выполнить регистрацию в прошивке 9 и прошивке 10, но у меня есть несколько проблем:
- Как только я включаю push-уведомление на вкладке целевых возможностей, push-уведомление перестает работать на iOS 9, хотя регистрация была успешно завершена.
- Толкатель вообще не работает на iOS 10, хотя регистрация была успешно завершена.
Пожалуйста, имейте в виде, что если отключить уведомление толчка на вкладке целевых возможностей (с тем же кодом) нажимное возвращение на работу на 9 прошивке, но я не могу зарегистрироваться для APNS на прошивке 10.
см. Этот раз http://stackoverflow.com/questions/39267549/ios-how-to-integrate-push-notification-in-ios-10/39268135#39268135 –
уже попробуйте это тоже. включенную вкладку «Push Notification» в вкладке «Возможности», добавленную платформу UserNotifications и UNUserNotificationCenterDelegate, проверьте версию ОС и зарегистрируйтесь успешно в обеих версиях ОС. проблема в том, что didReceiveRemoteNotification не вызывает. Мне не нужно знать о действии пользователя в уведомлении, но я внедрил didReceiveRemoteNotification: userInfo fetchCompletionHandler, а также –