ОБНОВЛЕНИЕ:
Думаю, я прочитал это слишком быстро. Обратите внимание на мои исправления. Если ответ соответствует вашему варианту использования, не стесняйтесь его принять.
Основываясь на вашем описании, я бы предположил, что произошли основные изменения в генерации токенов между iOS6 и iOS7. Чтобы более внимательно изучить это поведение, я рекомендую вам взглянуть на Руководство по программированию локальных и push-уведомлений. В Руководстве в разделе «Планирование, регистрация и обработка уведомлений» можно найти это заявление от Apple.
Токены устройства могут изменяться. Приложению необходимо повторно регистрироваться при каждом запуске - в iOS путем вызова метода registerForRemoteNotificationTypes: UIApplication, а в OS X путем вызова метода registerForRemoteNotificationTypes: приложения NSApplication. Параметр, передаваемый этому методу, определяет начальные типы уведомлений, которые приложение желает получать. Пользователи могут изменять включенные типы уведомлений в любой момент, используя настройки в iOS или Системные настройки в OS X. Вы можете запросить текущие включенные типы уведомлений, используя свойство enabledRemoteNotificationTypes UIApplication или свойство enabledRemoteNotificationTypes NSApplication. Система не отображает значки, не отображает предупреждающие сообщения и не воспроизводит звуковые сигналы, если какой-либо из этих типов уведомлений не включен для вашего приложения, даже если они указаны в полезной нагрузке уведомления.
Ссылка:
Apple использует токены устройств, когда пользователи соглашаются получать удаленные уведомления от Apple Push Service.
Обычно доступ к токену устройства осуществляется следующим способом:
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
deviceToken Маркер, который идентифицирует устройство для APS. Маркер является непрозрачным типом данных, потому что это форма, которую провайдер должен отправить на серверы APS, когда он отправляет уведомление на устройство. Серверы APS требуют двоичного формата по соображениям производительности.
Обратите внимание, что маркер устройства отличается от свойства uniqueIdentifier UIDevice, поскольку по соображениям безопасности и конфиденциальности он должен изменяться при очистке устройства.
Также произошли значительные изменения в идентификаторе UIDevice (Apple ограничила использование). Я бы посоветовал прочитать следующее:
person
Tommie C.
schedule
22.10.2013