import json, ast
jdata = ast.literal_eval(json.dumps(jdata)) # Removing uni-code chars
Я недавно столкнулся с подобной проблемой с реагировать-исходным-приложением. версия iPhone OS была 13.1, я удалил приложение и попытался установить приложение и заметил и местоположение и полномочия уведомления, не были запрошены.
При проверке настроек, я видел, что мое приложение было включено для местоположения (от предыдущей установки) однако не было никакой соответствующей записи против уведомления Испытанное удаление и перезагрузка, не устанавливая время, это не работало. Btw, я также пытался загрузить приложение Appstore, все еще то же поведение.
вопрос был решен только после установки времени устройства.
Я задавался этим вопросом в прошлом и пришел к выводу, что это не совсем подходящий тестовый пример для моего кода. Я не думаю, что код вашего приложения может определить разницу между тем, кто отказывается от уведомлений в первый раз или отключает их в настройках уведомлений iPhone. Действительно, пользовательский опыт отличается, но это скрыто внутри вызова registerForRemoteNotificationTypes.
Вызов unregisterForRemoteNotifications не полностью удаляет приложение из настроек уведомлений - хотя он удаляет содержимое настроек для этого приложения. Таким образом, это не приведет к тому, что диалог будет представлен пользователю во второй раз при следующем запуске приложения (по крайней мере, не в версии 3.1.3, с которой я сейчас тестирую). Но, как я уже сказал выше, вам, вероятно, не стоит беспокоиться об этом.
Список: / private / var / mobile / Library / RemoteNotification / Clients.plist
... содержит зарегистрированных клиентов для push-уведомлений. Удаление записи приложения приведет к повторному отображению запроса