2012-05-02 7 views
2

При первом запуске моего приложения меня спрашивают, хочу ли я разрешать push-уведомления, поэтому я выбираю «да». Теперь, когда я перехожу к настройкам и отключу все уведомления для своего приложения, я все равно получаю токен устройства от - (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken;. Я, как разработчик, отвечаю за отслеживание, включено ли у моего приложения? Или это ошибка?Почему iPhone по-прежнему дает мне токен устройства, если push отключен?

ответ

3

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

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

Вы можете определить, если пользователь отключил уведомления толчка с кодом ниже

UIRemoteNotificationType remoteNotificationType = [[UIApplication sharedApplication] enabledRemoteNotificationTypes]; 
if (remoteNotificationType == UIRemoteNotificationTypeNone) { 
    ... Do not send push 
} 
+0

Так что это нормально для меня, чтобы продолжать посылать толчок к маркеру устройства? iOS будет игнорировать их? –

+0

Я обновил свой ответ. Вы не должны посылать им толчок. – bbarnhart