IOS: почему не был создан devicetoken, когда пользователь не разрешает удаленные уведомления
Я создал приложение, которое использует службу удаленных уведомлений, а также готовлю веб-службу для сбора токена устройства и некоторых данных устройства. работает без нареканий, проблем нет.
но я понял что-то странное. (может быть, это не так странно, если учесть принципы работы службы удаленного оповещения)
когда пользователь устанавливает приложение на устройство в первый раз и во время первого запуска, появляются диалоговые окна с предупреждениями, которые запрашивают у пользователя получение удаленных уведомлений.
Я думаю, devicetoken не создается, если пользователь не разрешает удаленные уведомления, и, как следствие, didregisterforremotenotificationwithdevicetoken
метод никогда не вызывается после этого.
но, если пользователь разрешает уведомления во время первого запуска приложения, devicetoken
создано. а также didregisterforremotenotificationwithdevicetoken
вызов метода, когда пользователи запускают приложение, даже пользователь отключает все удаленные уведомления позже в центре уведомлений.
Итак, в первом случае, если пользователь не разрешает удаленное уведомление в начале, как я могу позвонить didregisterforremotenotificationwithdevicetoken
без девайса токен?
1 ответ
Если пользователь не разрешает это, вы никогда не получите токен устройства (именно поэтому пользователя спрашивают в первую очередь). Вы также не можете отправить уведомление..
Вместо этого вы можете реагировать на application:didFailToRegisterForRemoteNotificationsWithError:
Также помните, что токен устройства может время от времени восстанавливаться.
Вы можете прочитать больше об этом по адресу https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/IPhoneOSClientImp/IPhoneOSClientImp.html#//apple_ref/doc/uid/TP40008194-CH103-SW2