2016-09-21 23 views
1

例外なくATS(App Transport Security)が有効になっているiOS 9では、http経由でサーバーに接続できませんでした。それは私が期待するものです。iOS 10のATSとhttp

IE:

http://192.168.22.33

しかしiOSの10で変更なしで、私はその接続を行うことができます。 https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS10.html

任意のアイデア:

私はこれがあるかもしれない理由上の任意の更新情報が表示されない、ここでお探しですか?私はまだATS保護を取得していることを確認したい。

+0

アプリの基本SDKは何ですか?あなたは、アプリケーションを構築するためにXcode 7または8を使用していますか? – wottle

+0

ベースSDKはXcode 8で構築された9.3です。また、9.3デバイス上で同じビルドでhttp(期待どおり)が許可されませんが、iOS 10ではこれが行われます。 – lostintranslation

+0

どうやって接続していますか? UIWebViewでは、NSURLConnection?私が複製できるかどうかがわかります。 – wottle

答えて

2

リモート接続およびローカル接続用のATSの使用 アプリケーショントランスポートセキュリティ(ATS)は、パブリックホスト名への接続にのみ適用されます。 .localのトップレベルドメインを使用し

  • 非修飾ホスト名
  • ローカルホスト(TLD)
  • に対処し

    • インターネット・プロトコル(IP):システムがへの接続にATS保護を提供していません。

      修飾されていないホスト名または.localドメインに接続するには、NSAllowsLocalNetworkingキーの値をYESに設定する必要があります。

      注:ローカルホストへの接続にATSは適用されませんが、ローカルIPアドレスを検証するために自己署名証明書を使用するとともに、ローカル接続にTransport Layer Security(TLS)を使用することを強く推奨します。 Apple Doc.

    システムでは、Internet protocol (IP) addressesの接続に対してATS保護は提供されません。だから、NSAllowsLocalNetworkingをplistファイルに入れずにサーバIPに接続することができます。