IOS: почему не был создан devicetoken, когда пользователь не разрешает удаленные уведомления - PullRequest
0 голосов
/ 06 марта 2012

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

но я понял что-то странное.(может быть, это не так странно, если подумать о принципах работы службы удаленных уведомлений)

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

Я думаю, devicetoken не создается, если пользователь не разрешает удаленные уведомления, и в результате метод didregisterforremotenotificationwithdevicetoken никогда не вызывается после этого.

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

Итак, в первом случае, если пользователь не разрешает удаленное уведомление в начале, как я могу позвонить didregisterforremotenotificationwithdevicetoken без устройства deviceken?

1 Ответ

0 голосов
/ 06 марта 2012

Если пользователь не разрешает это, вы никогда не получите токен устройства (именно поэтому пользователя спрашивают в первую очередь). Вы также не можете отправить уведомление
Вместо этого вы можете реагировать на application:didFailToRegisterForRemoteNotificationsWithError:

Также помните, что токен устройства может время от времени восстанавливаться.

Подробнее об этом можно прочитать на https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW2

...