2014-10-26 3 views
0

Я хочу реализовать push-уведомления в моем приложении.Push уведомление оповещения не работает на iOS 7, но он делает на iOS 8

В iOS 8, при запуске приложения, пользователь получает классический «Хотите приложение для отправки уведомлений?», Но в iOS 7 он не работает, и я не понимаю, почему.

Это код, я использую

if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { 
    UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]; 
    [[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings]; 
    [[UIApplication sharedApplication] registerForRemoteNotifications]; 
} else { 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; 
} 

В прошивке 8 он работает довольно много, но IOS-не делает.

Любая подсказка, почему это не работает?

Я изготовил и пользуюсь всеми необходимыми сертификатами.

ответ

2

Ваш код выглядит хорошо только, но попробуйте использовать ниже trick: -

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_8_0 
    if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { 
     UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]; 
     [[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings]; 
     [[UIApplication sharedApplication] registerForRemoteNotifications]; 
    } else { 
     [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; 
    } 
#else 
    [[UIApplication sharedApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; 
#endif 
+0

Спасибо за ваш ответ. Я пробовал, но не работает. Я также сбросил симулятор, но никто не работает. – Phillip

+0

Он работает на устройстве, хотя! Большое спасибо. – Phillip

+0

Рад, что это помогает :) –

Смежные вопросы