Я задавался вопросом об этом в прошлом и пришел к выводу, что это не был действительный тестовый пример для моего кода. Я не думаю, что код вашего приложения на самом деле может показать разницу между тем, кто отклоняет уведомления в первый раз или позже, отключив его в настройках уведомлений iPhone. Это правда, что пользовательский интерфейс отличается, но он скрыт в вызове registerForRemoteNotificationTypes.
Вызов unregisterForRemoteNotifications не полностью удаляет приложение из настроек уведомлений, хотя и удаляет содержимое настроек для этого приложения. Таким образом, это все равно не приведет к тому, что диалоговое окно будет представлено пользователю во второй раз при следующем запуске приложения (по крайней мере, не в версии 3.1.3, с которой я сейчас тестирую). Но, как я уже сказал выше, вы, вероятно, не должны беспокоиться об этом.