2015-10-24 38 views
3

我們是一個在線支付應用程序,允許用戶通過信用卡,借記卡或網上銀行支付給不同的商家。由於蘋果在IOS 9.0中引入了App Transport Security,我們在UIWebView中加載不同的銀行網址時遇到了問題。允許IOS中的任意負載9

ATS要求所有銀行網站符合TLS 1.2標準,但大多數銀行仍在使用SSL或TLS 1.0。基於各種堆棧溢出的回答來繞過這一點,要麼我們必須明確地允許該特定域名符合SSL或TLS 1.0標準,或者我們可以使用NSAllowsArbitraryLoads來允許所有銀行網址。由於我們無法跟蹤所有銀行網址,因此我們希望使用NSAllowsArbitraryLoads方法。

是否蘋果拒絕使用NSAllowsArbitraryLoads的應用程序?

在IOS 9中啓用NSAllowsArbitraryLoads會完全禁用TLS或SSL檢查,還是僅刪除TLS 1.2強制執行。

回答

1

設置NSAllowsArbitraryLoads將完全禁用TLS/SSL檢查,因此您將能夠發出普通的http調用。有單獨的密鑰,NSExceptionMinimumTLSVersionNSThirdPartyExceptionMinimumTLSVersion,允許您指定舊版本的TLS。有關更多信息,請參閱:https://developer.apple.com/library/prerelease/ios/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW33

我不能說蘋果會不會拒絕,他們的指導方針可能會發生變化。但是,文檔表明NSAllowsArbitraryLoads是用於調試和開發的,因此您可能不應該使用它進行提交。

如果您有太多的銀行合作伙伴需要管理,您可以爲您的Build創建一個Run-Script Pre-Action,它將爲您的Info.plist中的所有合作伙伴設置例外。

相關問題