Не удается загрузить ссылки HTTP в UIWebView в iOS 9
Я пытаюсь загрузить ссылки HTTP в UIWebView. Ссылки с моего сайта, поэтому они надежны. Я искал в Интернете и нашел решение здесь: Как я могу добавить NSAppTransportSecurity в мой файл info.plist?
После этого решения мой info.plist выглядит так:
Даже после внесения изменений я не могу загрузить ссылки HTTP в UIWebView. Я получаю следующую ошибку:
App Transport Security заблокировала загрузку ресурса HTTP (http://) в виде открытого текста, поскольку она небезопасна
Есть ли что-то, что я делаю не так?
ОБНОВИТЬ:
После внесения изменений, предложенных Рамсхадом в комментариях, он все равно не работает. Смотрите изображение ниже:
5 ответов
Это должно быть сделано так, вам нужно добавить в свой Plist следующие записи Apple Documentation
NSAppTransportSecurity <- Тип словаря
NSAllowsArbitraryLoads <- Введите логическое значение YES
Можете ли вы попытаться добавить все без "http://":
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>mydomain.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
Проверьте эту статью: ссылка.
App Transport Security (ATS) обычно не позволяет нашим приложениям подключаться к HTTP-серверам, но есть специальное исключение, которое вы можете добавить, чтобы UIWebView и WKWebView могли загружать небезопасный контент.
TL; DR
Просто добавьте в свой .plist
файл:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
NSAllowsArbitraryLoadsInWebContent
доступно из iOS 9.0, так что должно быть хорошо для вас.
Я думаю, что вы ошиблись ссылкой или доменом.
У меня была такая же проблема, и после повторной проверки домена, который был 123.company.othercompany.com
вот я и поменяла company.com
в othercompany.com
и он начал загружать внешний сайт.
Вы пробовали это?
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>www.mydomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>