Ответ 1
UPDATE:
Думаю, я слишком быстро прочитал этот текст. Обратите внимание на мои изменения. Если ответ соответствует вашему прецеденту, пожалуйста, не стесняйтесь его принять.
Основываясь на вашем описании, я бы предположил, что произошли коренные изменения в генерации маркеров между 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 требуется двоичный формат по соображениям производительности.
Обратите внимание, что токен устройства отличается от уникального идентификатора свойство UIDevice, поскольку по соображениям безопасности и конфиденциальности оно должен быть изменен при стирании устройства.
Существуют также значительные изменения в идентификаторе UIDevice (использование Apple ограничено). Я бы предложил следующее: