Я создал контроллер веб-представления и загружал сайты https (ex:,), но не http, не защищенные сайты ssl (например: , http://www.barretthillins.com). Когда я размещаю сайт hhtp там, он загружается, но просто пустой белый веб-просмотр. Как мне это исправить?Swift UIWebView не загружает http-узлы
ответ
Это связано с безопасностью приложений Transport Transport, новым протоколом, представленным Apple на WWDC 2015. Это не позволяет никаких подключений, которые не являются HTTPS
. Вы можете отключить его, однако это не рекомендуется, так как оно защищает ваше приложение.
Чтобы отключить его, вы должны отредактировать приложение .plist
. Просто щелкните правой кнопкой мыши файл .plist
и выберите Открыть как -> Source File и добавьте следующий код:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key><true/>
</dict>
Это позволит HTTP
запросы.
Надеюсь, что поможет, Джулиан.
Это сработало отлично. Я только начинаю учиться быстро, поэтому я этого не знал. Спасибо. – simon
«Не рекомендуется», есть ли рекомендуемый способ разрешить веб-представлениям загружать сайты HTTP без этого, что имеет эффекты приложения? –
Нет, нет. Apple сделала очень сильный толчок для обеспечения безопасности, и они действительно потворствуют использованию http, который не защищен –
Вы устанавливаете NSAllowArbitrayLoads для NSTransportSecurity в своем plist? Если нет, вы можете попробовать. ios не загружает HTTP-запрос по умолчанию в ios9. Вы можете найти его более подробно. – Surely