транспортная безопасность требуется в 2017 году, будет ли приемлемой ссылка в приложении, которое открывает не-https-сайт в сафари?

После официального запуска ATS (без исключений) в январе 2017 г., смогу ли я оставить ссылку на веб-сайт без https в приложении, которое разрешено открывать в Safari, а не в приложении в браузере? Или такая практика тоже неприемлема?

Есть ли способ сохранить ссылку на сайт, отличный от https, после того, как это изменение произойдет? Или это практика DOA?


person jonpeter    schedule 22.07.2016    source источник
comment
Только Apple может ответить на этот вопрос, но они заявили, что будут допускать исключения из ATS, где это оправдано. На мой взгляд, они должны быть разумными, поскольку существует большое количество сайтов, которые никогда не перейдут на HTTPS. Одно из моих приложений поддерживает встроенные устройства, которые никогда не будут поддерживать HTTPS, и даже если бы они это сделали, пользователь не стал бы устанавливать сертификаты.   -  person Paulw11    schedule 22.07.2016
comment
Вы случайно не знаете, включен ли ATS автоматически в Xcode 8?   -  person jonpeter    schedule 22.07.2016
comment
ATS включается автоматически в любом приложении, скомпилированном для iOS9 SDK или более поздней версии, поэтому Xcode 7.3 и более поздние версии   -  person Paulw11    schedule 22.07.2016
comment
Спасибо за быстрый ответ. Пытаясь охватить здесь свои базы, если я смогу загрузить сайт без https в сафари, ATS не будет проблемой в январе?   -  person jonpeter    schedule 22.07.2016
comment
Я не верю, что ATS применим к Safari. Только для вашего использования HTTP в приложении   -  person Paulw11    schedule 22.07.2016
comment
Так что ATS действительно относится к запросам браузеров приложений/URL?   -  person jonpeter    schedule 22.07.2016
comment
Смотрите обновление к моему ответу ниже. Существует новое исключение ATS, которое применяется к браузерам внутри приложений.   -  person wottle    schedule 02.09.2016


Ответы (1)


App Transport Security влияет только на вызовы сервера внутри приложения. Если вы загружаете URL-адреса в Safari, все будет в порядке. На самом деле, здесь есть хорошее руководство по разработчик, который пытается загрузить страницы в UIWebView, но если это не удается из-за ATS, вместо этого они загружают их в Safari.

Еще одно замечание: вам следует рассмотреть возможность использования SFSafariViewController для открытия URL-адресов в вашем приложении, но со всеми преимуществами открытия в Safari. SFSafariViewController допускает произвольные загрузки (то есть не применяет ATS), но позволяет удерживать пользователей внутри вашего приложения. Это, безусловно, стоит учитывать, если вы ориентируетесь на iOS 9 и новее.

Кроме того, в вашем вопросе есть немного неверное утверждение о том, что ATS будет более строгим, начиная с 2017 года, но все же будут разрешены исключения. Некоторым медиапотокам не потребуется ATS (из-за накладных расходов на шифрование чего-то вроде видео), а также ваши приложения по-прежнему могут запрашивать исключение у Apple, но еще неизвестно, что Apple сочтет допустимым обоснованием для исключений. Кроме того, Apple по-прежнему будет разрешать приложениям делать исключения для требования прямой секретности ATS. Так что это не так просто, как говорится в вашем вопросе.

Изменить: похоже, что Apple добавила новое исключение, которое вы можете использовать, чтобы разрешить соединения без ATS в экземплярах UIWebview и WKWebview. Это NSAllowsArbitraryLoadsInWebContent. Это должно делать именно то, что вы ищете. Вот отличный обзор последних новостей с ATS: подготовка к ATS в 2017 году.

person wottle    schedule 25.07.2016
comment
А, это очень интересно. У вас есть дополнительная информация о sfsafariviewcontroller и URL-адресах без подписи https? Мне нужен встроенный в приложение браузер, который загружает только один сайт (предустановленный), но не обязательно безопасный. - person jonpeter; 26.07.2016
comment
Не нужно беспокоиться о безопасном или небезопасном просмотре в SFSafariViewController. Просто дайте ему URL-адрес, и он точно так же, как они просматривали в приложении Safari. Вот руководство: captechconsulting.com/blogs/ - person wottle; 26.07.2016