Приложение Ionic заблокировано ограничением iOS «Только для определенного веб-сайта»

У пользователя есть устройство iOS с ограничениями, установленными в настройках, чтобы разрешить только «Только определенные веб-сайты». В результате приложение Ionic покажет заставку, но ничего не сделает после этого.

Предположительно, в настройках необходимо указать конкретный локальный URL-адрес приложения. Каким будет этот URL?

Редактировать: он также блокируется, если для веб-сайтов включен параметр «Ограничение содержимого для взрослых».


person user2722537    schedule 25.04.2018    source источник


Ответы (3)


У меня была аналогичная проблема, когда приложение не могло получить доступ к локальному хосту. Ionic теперь использует локальный сервер (поскольку был представлен wkwebview) для обслуживания локальных файлов. Когда ограничения устройства были установлены на «Только определенные веб-сайты», приложение просто отображало пустой белый экран после заставки.

Добавление http://localhost в список разрешенных сайтов сработало.

Также немного помогло удаление и добавление платформы ios. Вместо того, чтобы показывать пустой белый экран после заставки, он показывал сообщение о том, что сайт ограничен, и предлагает пользователю разрешить это.

Чтобы удалить и добавить платформу ios: (взято из ionic docs для wkwebview - https://ionicframework.com/docs/wkwebview/)

Убедитесь, что Xcode закрыт

Чистая установка:

rm -rf platforms
rm -rf plugins

Добавить платформу обратно

ionic cordova platform add ios

Убедитесь, что локальный хост разрешен:

<allow-navigation href="http://localhost:8080/*"/>

Убедитесь, что WKWebView является движком по умолчанию:

<feature name="CDVWKWebViewEngine">
  <param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />

Собрать ионный ios

ionic cordova build ios

Откройте Xcode и повторите попытку сборки.

person Dayveed    schedule 06.05.2018
comment
Это отличная информация - спасибо! Я не пробовал последние пару шагов, но попробую позже. На данный момент добавление localhost в список разрешенных сайтов помогает, но было бы неплохо увидеть это другое сообщение. Спасибо еще раз! - person user2722537; 10.05.2018

Вы разрабатываете само приложение и не знаете, к какому URL-адресу оно подключается? Если это не ваше приложение, то спросите у разработчика, что такое URL и добавьте его в список разрешенных, иначе узнать его невозможно. Локальный URL-адрес index.html не должен быть заблокирован, иначе ни одно приложение на основе Cordova не будет работать с таким поведением.

person andreszs    schedule 26.04.2018

Для тех, кто все еще натыкается на это, более новые версии cordova-plugin-ionic-webview теперь поддерживают использование схемы приложения вместо обслуживания через http://localhost. Использование схемы приложения позволит приложению не блокироваться ограничением контента iOS. Надеюсь это поможет!

person Justin Cuaresma    schedule 02.04.2020