2016-12-11 3 views
1

私は現在、提供されたユーザーに接続する必要があり、場合によってはユーザーがホストするサービスに接続する必要があるアプリケーションを開発中です。これらのサービスはすべてHTTPSをサポートしているわけではありません。過去にはNSAllowsArbitraryLoadsでは、ユーザーがApp Transport Securityに関わらずそれらのサービスに接続できるようになりました。ご理解のとおり、すぐに直接交換することなくNSAllowsArbitraryLoadsは廃止されます。App Transport Securityの下でユーザーサーバーと通信する

私は、App交通安全に関する二つの質問があります。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証明書が必要です。

関連する問題