2014-11-10 8 views
1

Мне нужно получить deviceToken. Когда я добавил push-уведомление в свое приложение, я получил deviceToken через didRegisterForRemoteNotificationsWithDeviceTokenполучить ios push deviceToken второй раз

, но теперь мне нужно его снова и я не сохранил. didRegisterForRemoteNotificationsWithDeviceToken называет только один раз, а иногда приложение работает только registerUserNotificationSettings

Я думал, чтобы сохранить маркеры от всех новых пользователей [NSUserDefaults standardUserDefaults], но он будет работать только на новые. Что делать с текущими пользователями?

ответ

1

Добавьте следующий код в методе «didFinishLaunchingWithOptions» ...

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

Тогда метод «didRegisterForRemoteNotificationsWithDeviceToken» будет называться по каждому вызову «didFinishLaunchingWithOptions» во время приложения запуска.