2016-12-11 101 views
1

我目前正在開發一個應用程序,需要連接到用戶提供的服務和可能還有用戶託管的服務。這些服務並不都支持HTTPS。在過去的NSAllowsArbitraryLoads將使用戶能夠連接到這些服務,儘管應用程序傳輸安全。據我所知,NSAllowsArbitraryLoads將很快被棄用,沒有任何直接更換。在應用傳輸安全下與用戶服務器通信

我有關於應用傳輸安全兩個問題:

  • 何時NSAllowsArbitraryLoads被棄用?
  • 之後如何連接到這些服務或者不可能?

沿着這條線,我的應用程序還應該支持不受信任的TLS證書。目前,我計劃在URLSessionTaskDelegate的urlSession(_ session: URLSession, task: URLSessionTask, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void)中執行該操作。

這是處理這種情況的有效方法嗎?

乾杯!

回答

3

NSAllowsArbitraryLoads不會被棄用。你仍然可以使用它。但從2017年1月起,將會有一項新的限制:當您沒有充分的理由時,將不再批准在info.plist中定義的具有ATS例外的應用程序。 (這僅適用於新版本,目前AppStore上的任何版本都不會受到影響)。

請參閱WWDC 2016的Session 706瞭解更多信息。開發人員論壇中的This thread也可能包含一些有用的信息。


使用URLSession仍然有效。您不必更改任何代碼。但是,如果沒有ATS例外,您需要信任的TLS證書。

相關問題