У меня проблема после обновления нашего приложения для работы с iOS 8, где registerForRemoteNotificationTypes, похоже, не работает на телефоне под управлением iOS 7, так как в didRegisterForRemoteNotificationsWithDeviceToken не вызывается и «Разрешить Push-уведомления» Диалог не отображается в приложении. Это код, я используюregisterForRemoteNotificationTypes не работает iOS7 xcode 6
// Add registration for remote notifications
if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
NSLog(@"iOS 8 Registering for remote notification");
UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil];
[[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings];
[[UIApplication sharedApplication] registerForRemoteNotifications];
} else {
NSLog(@"Registering for remote notification");
[[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
}
Этот код работает отлично подходит для телефонов, работающих под управлением IOS 8, только не IOS 7. Еще один бит информации, нам удалось получить уведомления толчка, чтобы работать на IOS 7 телефон только после того, как запуск приложения через xcode с подключенным телефоном. Затем мы развернули тот же код, что и ad Hoc, на другой iPhone и iPad под управлением iOS 7, и ни одна из них не работала. Есть ли что-то очевидное, я здесь отсутствует.
'Затем мы развернули тот же код, что и объявление Hoc для другого iPhone и iPad, работающего под управлением iOS 7, и ни один из них не работал. Звуки, как профили обеспечения и push-сертификаты, настроены неправильно. Проверьте журналы консоли для своего устройства и вашего приложения. –
Я сам начинаю, но не стоит размещать [[UIApplication sharedApplication] registerForRemoteNotifications]; внутри метода делегата didRegisterUserNotificationSettings? И только если возвращенные оповещения содержат настройки UIUserNotificationTypeAlert? – Innova
Вышеприведенный код идет в didFinishLaunchingWithOptions. didRegisterForNotifications инициируется успешным вызовом registerForRemoteNotifications –