Подтвердить что ты не робот

Когда вызвано reRegisterForRemoteNotificationsWithDeviceToken?

Есть много вопросов о didRegisterForRemoteNotificationsWithDeviceToken, но все они обошли очень прямой вопрос, на который я не могу найти точный ответ.

Для приложения, которое правильно настроено для уведомлений всеми другими способами и имеет правильное сетевое подключение: когда вызывается запросRegisterForRemoteNotificationsWithDeviceToken? Возможны следующие варианты:

  • Каждый раз, когда приложение запускается
  • Только после первоначального запроса пользователю принять push-уведомления
  • Что-то еще?
4b9b3361

Ответ 1

Делегат приложения вызовет метод при успешной регистрации удаленного уведомления после вызова этого метода в вашем приложении UIA:

(пустоты) registerForRemoteNotificationTypes: (UIRemoteNotificationType) типов

В соответствии с: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html

При отправке этого сообщения устройство инициирует процесс регистрации с помощью Apple Push Service. Если это удается, делегат приложения получает токен устройства в методе приложения: didRegisterForRemoteNotificationsWithDeviceToken:; если регистрация не удалась, делегат информируется с помощью метода application: didFailToRegisterForRemoteNotificationsWithError:. Если делегат приложения получает токен устройства, он должен подключиться к его провайдеру и передать ему токен.

Теперь, чтобы уточнить, обычно приложение будет вызывать registerForRemoteNotificationTypes в файле didFinishLaunchingWithOptions: (NSDictionary *) launchOptions в вашем делете приложения. И поэтому приложение : didRegisterForRemoteNotificationsWithDeviceToken обычно называется моментами после запуска приложения.

Изменить: Приложение: didRegisterForRemoteNotificationsWithDeviceToken по-прежнему вызывается для регистрации последовательностей после первого.

Ответ 2

Когда приложение запускается в первый раз, он попросит пользователя, будут ли они удалять уведомления. Если они скажут "да", тогда он будет запускать didRegisterForRemoteNotificationsWithDeviceToken в это время и каждый раз после запуска этой функции при первом открытии приложения. Если они скажут "нет", то они не будут уволены, если они не войдут в настройки и не будут уведомлены о приложении.

Ответ 3

Могут быть много причин, проверьте некоторые причины.

  • Если вы запустите приложение в симуляторе, application: didFailToRegisterForRemoteNotificationsWithError: метод будут вызваны, поскольку push-уведомления не поддерживаются в Тренажер.

  • Проверьте подключение к интернет-соединению, если оно не подключено.

Подробнее... Ссылка