isRegisteredForRemoteNotifications
является Bool
. Нет неопределенного статуса. Вы можете проверить, что это reference.
Когда пользователь сначала устанавливает ваше приложение, они должны либо разрешать, либо запрещать push-уведомления. Другого возможного варианта нет.
Однако, возможно, вы спрашиваете, потому что вы можете удалить приложение, переустановить и не попросите разрешения. Это потому, что разрешение запоминается.
Сброс Нажмите Уведомление Permissions оповещения о прошивке первый раз нажимные с поддержкой регистры приложения для уведомления толчка, IOS запрашивает у пользователя, если они хотят, чтобы получать уведомления о том, что приложении. Как только пользователь ответил на это предупреждение, он не будет представлен повторно, если устройство не будет восстановлено или приложение не будет удалено, по крайней мере, на один день.
Если вы хотите имитировать первый запуск вашего приложения, вы можете оставить приложение удаленным в течение дня. Вы можете добиться последнего без фактического ожидания в течение дня, выполнив следующие шаги:
Удалите приложение с устройства. Полностью выключите устройство и включите его. Выберите «Настройки»> «Общие»> «Дата» & Время и установите дату в день или более. Полностью выключите устройство и включите его снова.
Reference
Попутный вопрос: When I delete my iOS application push notification state remains
EDIT:
Вы можете использовать только isRegisteredForRemoteNotifications
, чтобы проверить, что они просто не регистрируются, то ли это, что из-за снижения или из-за вас никогда не пытается зарегистрироваться.
Однако, до тех пор, как вы пытаетесь зарегистрироваться в действительном образом (действительные сертификаты и профили и т.д.), а также снижение пользователей, ваше приложение будет вызывать даже регистрироваться, но с нулевым UIUserNotificationSettings
:
func application(application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings) {
if notificationSettings.types == nil {
println("You didn't allow notifcations")
}
}
Спасибо за ответ. Я не спрашивал, потому что я пытаюсь удалить приложение. В моем случае я зарегистрировался для удаленных уведомлений после того, как пользователи вошли в систему (а не при запуске), поэтому есть случай, когда статус уведомлений будет неопределенным. Я думаю, что лучший способ задать это будет: есть ли обнаружение, если пользователь отклонил push-уведомления. –