Разрешить NS Произвольные нагрузки в IOS 9
Мы являемся приложением для онлайн-платежей, которое позволяет пользователям совершать платежи различным торговцам с помощью кредитных, дебетовых карт или банковских операций в сети. Поскольку компания Apple представила App Transport Security в IOS 9.0, мы сталкиваемся с проблемами при загрузке различных банковских URL-адресов в UIWebView.
ATS требует, чтобы все банковские сайты были совместимы с TLS 1.2, но большинство банков по-прежнему используют SSL или TLS 1.0. Основываясь на различных ответах переполнения стека, чтобы обойти это, мы должны явно разрешить этому конкретному домену быть совместимым с SSL или TLS 1.0, или мы можем использовать NSAllowsArbitraryLoads, чтобы разрешить все банковские URL. Поскольку мы не можем отслеживать все банковские URL, мы хотим использовать подход NSAllowsArbitraryLoads.
Apple отклоняет приложение, которое использует NSAllowsArbitraryLoads?
Включает ли NSAllowsArbitraryLoads в IOS 9 отключение проверки TLS или SSL в целом или устраняет только принудительное применение TLS 1.2.
1 ответ
Настройка NSAllowsArbitraryLoads
полностью отключит проверку TLS/SSL, чтобы вы могли выдавать обычные http
звонки. Есть отдельные ключи, NSExceptionMinimumTLSVersion
а также NSThirdPartyExceptionMinimumTLSVersion
, что позволяет указать более старую версию TLS. Для получения дополнительной информации см.: https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html.
Я не могу говорить о том, что Apple будет и не будет отклонять, и их руководящие принципы могут быть изменены. Однако в документации указано, что NSAllowsArbitraryLoads
предназначен для отладки и разработки, так что вы, вероятно, не должны подчиняться с ним.
Если у вас слишком много банковских партнеров для управления, вы можете создать предварительное действие Run-Script для вашей сборки, которое установит исключения для всех ваших партнеров в вашем билде. Info.plist
,