Получить deviceToken из любого представления

В моем приложении у меня есть следующий поток. При запуске спрашивает о получении Push-уведомлений. Если вы нажмете «Да», он берет deviceToken и сохраняет его как NSUserDefault. Часть приложения делает запросы. Эти запросы добавляются в XML-файл с разделом для deviceToken, чтобы PHP-скрипт мог позже отправить уведомление о запросе на основе deviceToken, который находится в XML.

Недавно я реализовал:

NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
        [[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];
        [appDomain release];

чтобы пользователь мог удалить ряд других NSUserDefaults, которые ему больше не нужны. Проблема в том, что это также очищает deviceToken. Как я могу снова получить deviceToken, не используя код didRegister, который у меня есть в делегате приложения?


person user717452    schedule 22.07.2014    source источник


Ответы (1)


Не рекомендуется хранить токен устройства в вашем приложении, он может быть изменен из APNS и может привести к сбою доставки уведомления, вы должны просто сохранить его в глобальной переменной и обновлять при каждом запуске приложения.

person Geet    schedule 22.07.2014
comment
Вот как я это делаю, и если приложение станет достаточно большим, чтобы его использовало бесчисленное количество людей, я могу, но это то, как оно сейчас настроено, и я не собираюсь переделывать все прямо сейчас, просто держать его продолжается. - person user717452; 22.07.2014
comment
тогда я думаю, вам лучше использовать файл pList для хранения и обновления значения - person Geet; 22.07.2014