По каким возможным причинам UNUserNotificationCenter.current (). RequestAuthorization может не запрашиваться? - PullRequest
0 голосов
/ 25 февраля 2020

Каковы возможные причины, по которым UNUserNotificationCenter.current().requestAuthorization может не отображаться?

У меня есть некоторые пользователи, которые вообще не получают приглашение для разрешения. Я даже пытался изменить идентификатор пакета приложения в TestFlight, чтобы увидеть, получат ли они приглашение, но безрезультатно.

Я также пытался сбросить разрешение через https://developer.apple.com/library/archive/technotes/tn2265/_index.html#//apple_ref/doc/uid/DTS40010376-CH1-TNTAG42.

Настройки разрешений уведомлений не отображаются в настройках приложения на iOS, что заставляет меня думать, что это не обязательно отклонено.

Любая помощь будет принята с благодарностью. Я не думаю, что это проблема кода, поскольку вызов довольно прост.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Хотя проблема была вызвана чем-то глупым; Я думаю, что все же стоит поделиться решением проблемы.

У нас есть приложение WK WebView iOS. Со своей стороны Angular мы пытаемся определить, является ли среда в настоящее время iOS собственным приложением, прежде чем запрашивать у пользователя разрешение. Мы делаем это, устанавливая флаг в локальном хранилище (у меня нет всей информации, поскольку это не мой код - я просто рецензент). Между загрузкой собственного приложения, WebView и angular кода мы не могли надежно гарантировать, что все обрабатывается синхронно.

Обнаружение не удалось - поэтому мы никогда не запрашиваем пользователя.

Еще раз спасибо за помощь.

0 голосов
/ 25 февраля 2020
  • Запрос разрешений provisional приводит к тому, что запрос разрешения для уведомлений не отображается на iOS <12. </li>
  • Если пользователь ранее отклонил разрешение для вашего приложения, то диалоговое окно выиграло либо не показывать.
...