2015-11-13 3 views
0

Я зарегистрировал свое устройство (iPhone 4s, а не симулятор) для push-уведомлений от Parse. Это было сделано успешно, так как появилось всплывающее окно с вопросом, хочу ли я зарегистрировать свое устройство для push-уведомлений.Как получить DeviceToken iPhone

Однако, когда я ударил Accept, я забыл код, который регистрирует мой deviceToken в PFInstallation данных, которые хранятся на сервере. Теперь, когда я вызываю [application registerForRemoteNotifications]; в методе AppDelegate.mdidFinishLaunchingWithOptions:, метод, вызывающий deviceToken, didRegisterForRemoteNotificationsWithDeviceToken:, не вызывается.

Как я могу назвать этот метод и получить мой deviceToken в базе данных? Кроме того, будут работать уведомления без deviceToken? Я пробовал отправлять глобальные push-уведомления, но не получил мой iPhone.

ответ

0

Я это исправил, удалив мое приложение, используя инструкции здесь: http://www.macworld.co.uk/how-to/iphone/how-clean-ios-junk-files-cache-3609079/ (инструкции для «Как очистить память вашего iPhone в: Удалить данные файла»). Когда я добрался до меню с разными приложениями, я нашел свое приложение, щелкнул его и нажал «Удалить приложение». Это полностью удаляет ваше приложение с вашего телефона, поэтому при его повторной установке он может снова запустить didRegisterForRemoteNotificationsWithDeviceToken:.

0

Попробуйте добавить этот фрагмент в -Применение: didFinishLaunchingWithOptions:

// Enable Push Notifications 

    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0) 
    { 
     //ios8 ++ 
     if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerUserNotificationSettings:)]) 
     { 
      UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]; 
      [[UIApplication sharedApplication] registerUserNotificationSettings:notificationSettings]; 
     } 
    } 
    else 
    { 
     // ios7 
     if ([[UIApplication sharedApplication] respondsToSelector:@selector(registerForRemoteNotificationTypes:)]) 
     { 
      [[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)]; 
     } 
    } 
+0

У меня уже есть код, подобный этому, который вызывается до [application registerForRemoteNotifications]; , Тем не менее, я использовал ваш код вместо этого, а затем в дополнение к моему коду перед вызовом [application registerForRemoteNotifications] ;, но didRegisterForRemoteNotificationsWithDeviceToken: до сих пор не был вызван. –

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