Блокировка безопасности транспорта приложения с помощью "Разрешить произвольные загрузки = ДА"

Я пытаюсь получить доступ к своему скрипту Python CGI, работающему на экземпляре в Amazon EC2, по запросу POST, но хотя я изменил свой файл Info.plist, чтобы разрешить произвольные загрузки, которые он показывает:

ошибка

Вот где я делаю запрос POST:

let manager = AFHTTPRequestOperationManager()
        let URL = "http://ec2-XX-XX.compute-1.amazonaws.com/cgi-bin/hellopy2.py"
        let params = ["userToken": "XXXXXXXXXXX"]

        manager.POST(URL, parameters: params, success: { (operation, responseObject) -> Void in

Вот мой файл info.plist:

Info.plist

2 ответа

Убедитесь, что у вас есть правильный файл Info.plist

Во-первых, убедитесь, что Info.plist, в который вы помещаете эти настройки, используется вашим проектом. Вы можете убедиться в этом, зайдя в настройки своего проекта и выполнив поиск Info.plist. Убедитесь, что файл Info.plist, в котором вы устанавливаете эти значения, является файлом для цели сборки, которую вы создаете.

Пример настроек Info.plist

Вы также можете проверить после факта, если вы строите свой проект на IPA. Разархивируйте IPA, и в разархивированной папке вы увидите файл Info.plist. Убедитесь, что ваши настройки ATS находятся в этом файле, чтобы убедиться, что запущенное приложение должно использовать эти исключения.


Получить настройки правильные / согласованные

После того, как вы проверили это, вы должны очистить ваши настройки. Вы используете глобальный флаг для разрешения любого незащищенного трафика. Пока это будет работать, но после конца 2016 года вы не сможете отправить заявку в магазин, не предоставив Apple обоснование и не столкнувшись с возможным отклонением. Я бы порекомендовал не использовать его на этом этапе, если только это приложение не будет распространяться через магазин приложений (например, корпоративное приложение). Если вы решите использовать этот флаг, удалите домены исключений, так как они не нужны (вы в основном говорите, что все домены являются исключениями и разрешают http).

Если вы хотите сделать это правильно, разрешив только незащищенные соединения с amazonaws, ваши настройки должны просто выглядеть следующим образом:

Очистил настройки безопасности приложения транспорта без лишних записей

Если у вас есть эти настройки, и ваша конфигурация Info.plist верна, вы сможете получить доступ к любым поддоменам amazonaws.com без https.

"http://" не является частью имени домена.

Удалите "http://" из имени домена в вашем файле Info.plist.

* Вам не нужно устанавливать глобальный ключ "Разрешить произвольные загрузки" на "Да", чтобы это работало.

Другие вопросы по тегам