https://developer.apple.com/videos/wwdc/2015/?id=711 @ 5:55
Кажется, я не могу добавить это в свой info.plist. В этом нет никакой ценности. Я использую бета-версию XCode версии 7.0 (7A121l) и тестирую на iOS9.
Поскольку я не могу конкретно указать, какой URL-адрес мне нужен, как показано в видео, я продолжаю получать сообщение «Безопасность транспорта приложений заблокировала загрузку ресурсов HTTP (http: //) в открытом виде, поскольку она небезопасна. Временные исключения могут быть настроены через приложение Файл Info.plist "ошибки.
Однако, похоже, я не могу его настроить. Любые идеи?
ios
objective-c
xcode
ios9
Крис П
источник
источник
Ответы:
попробуйте С этим --- работал у меня в Xcode-beta 4 7.0
Также еще один вариант, если вы хотите отключить ATS, вы можете использовать это:
Но это совсем не рекомендуется. На сервере должны быть сертификаты SSL, чтобы не было утечек конфиденциальности.
источник
<key>NSAllowsArbitraryLoads</key> <true/><key>NSExceptionDomains</key>
В противном случае для меня это не сработало для релизной версии по какой-то причинеВам нужно добавить только ключ NSAllowsArbitraryLoads к YES в словаре NSAppTransportSecurity в вашем файле info.plist.
Например,
источник
Это не сработало для меня, но это помогло:
источник
<true/>
а не<YES/>
</dict>
и</plist>
тегами:Просто чтобы уточнить ... Вы всегда должны использовать httpS
Но вы можете обойти это, добавив исключение:
источник
Xcode 8.2, iOS 10
источник
Обновить ответ (после WWDC 2016):
Безопасность транспорта приложений или ATS - это функция, которую Apple представила в iOS 9. Когда ATS включен, она заставляет приложение подключаться к веб-службам через соединение HTTPS, а не через незащищенный HTTP.
Однако разработчики по-прежнему могут отключить ATS и разрешить своим приложениям отправлять данные через HTTP-соединение, как указано в ответах выше. В конце 2016 года Apple сделает ATS обязательной для всех разработчиков, которые надеются разместить свои приложения в App Store. ссылка на сайт
источник
Это позволит подключиться к .com .net .org.
источник
источник
Для того, чтобы объяснить немного больше об ответе Парашаров: безопасность App Transport будет становиться обязательной и пытаемся превратить его может получить ваше приложение отвергается.
Как разработчик, вы можете отключить безопасность транспорта приложений, если ваш сетевой код не работает с ним, и вы хотите продолжить разработку, прежде чем исправлять какие-либо проблемы. Скажем, в команде из пяти человек четверо могут продолжать работать над другими делами, а один решает все проблемы. Вы также можете отключить безопасность транспорта приложений в качестве инструмента отладки, если у вас есть проблемы с сетью и вы хотите проверить, не вызваны ли они безопасностью транспорта приложений. Как только вы узнаете, вы должны немедленно включить его снова.
Решение, которое вы должны использовать в будущем, заключается в том, чтобы вообще не использовать http, если вы не используете сторонний сервер, который не поддерживает https. Если ваш собственный сервер не поддерживает https, у Apple с этим возникнут проблемы. Я бы не стал ставить на то, что Apple примет это даже со сторонними серверами.
То же самое с различными проверками безопасности сервера. В какой-то момент Apple будет принимать только оправданные исключения.
Но в основном учтите следующее: вы ставите под угрозу конфиденциальность своих клиентов. В моей книге это большой запрет. Не делай этого. Исправьте свой код, не спрашивайте разрешения на запуск небезопасного кода.
источник
Плохая новость для разработчиков, использующих NSAppTransportSecurity.
https://techcrunch.com/2016/06/14/apple-will-require-https-connections-for-ios-apps-by-the-end-of-2016/
источник
В командной строке оболочки Mac используйте следующую команду:
Команда добавит все необходимые значения в ваш файл plist.
источник
XCODE 8, Swift 3: вам нужно добавить строку: **
** в info.plist внутренней информации Список собственности.
источник
Xcode 9.2, Swift 4, у меня это работает.
источник