2017-05-26 3 views
0

現状:Appleがhttpsの必須使用を要求している場合、ios webviewがhttpsを使用する必要がありますか?

  1. ずっと前に、アップルがhttps
  2. がリリースされていることを我々のアプリの強制的使用を遅らせ、完全にhttpsを使用することを余儀なくされていません。 webViewで リクエストの一部がまだhttpsをサポートしていないためです。

質問:

  1. HTTPSを使用しての要件が必要だった場合、私はまだ「YES」として、「許可任意 Webコンテンツにおけるロード」と設定を設定することで、WebViewの中でHTTPを使用 ことができ「任意の負荷を許可する」は 「NO」と表示されますか?
  2. さらに、 が既に公開されているアプリに影響を及ぼしますか?
+0

info.plistに例外ドメインを追加することができます。そのドメインに追加するだけです。 – trapper

答えて

0

UIWebViewsまたはWKWebViewsを使用している場合は、NSAllowsArbitrartyLoadsInWebContent例外を使用してWebビューでhttp接続を許可できます。ただし、これはiOS 10以降を実行するデバイスにのみ役立ちます。アプリがiOS9をサポートしていて、ウェブコンテンツの例外のみを含めると、iOS 9ユーザーはhttpを使用するサイトを読み込むことができなくなります。両方をサポートするために、アップルはあなたのInfo.plistにNSAllowsArbitrartyLoadsInWebContentとの組み合わせを組み合わせています。これにより、iOS 9デバイスでは基本的にApp Transport Security(ATS)が無効になりますが、iOS 10ではNSAllowsArbitrartyLoadsInWebContentの設定がNSAllowsArbitrartyLoadsの設定よりも優先されます。つまり、WebViewではhttpと非ATS準拠の接続のみが許可されます。

ユーザーがアプリ内の任意のサイトを閲覧することを許可する場合は、SFSafariViewControllerへの切り替えを検討することをおすすめします。基本的にはアプリ内にSafariを埋め込むため、ATSの例外は必要ありませんが、別のプロセスとして使用します。ユーザーがアクセスできるサイトを管理できない場合は、柔軟性があり、最高のエクスペリエンスを提供します。

既に店舗に入っているアプリについて:iOS 9より前の基本SDKでアプリをコンパイルした場合は、ATS保護が焼き付けられていない可能性があります。アプリはiOS 9とiOS 10で正常に動作するはずです。 iOS 9または10デバイスのApp Storeからアプリをインストールし、http://のURLにアクセスできることを確認して確認します。

Appleがhttpsを使用する要件を延期していないことを理解してください.AOSはiOS 9以降を実行するデバイス、iOS9以上の基本SDKでコンパイルされたアプリケーションでアクティブです。彼らが遅れたのは、NSAllowArbitraryLoadsの例外を使用する際に正当な理由を提供する必要があることでした。あなたがアップルにアプリを提出すると、そのチェックが行われます。店舗内の既存のアプリケーションは影響を受けません。上記の例外が必要な場合は、ATSの機能を無効にする必要があります。店内の現在のアプリがNSAllowsArbitraryLoadsの例外を使用している場合、あなたはあなたのアプリのATSを無効にしています。そして、ある時点で、アップルはサーバーとの安全でない通信を行うことによって潜在的にユーザを危険にさらしている理由を説明してほしいと思っています。

関連する問題