0

iOS9 シミュレーターでアプリを実行しようとした後、次の厄介な警告に直面しました

App Transport Security ポリシーでは安全な接続を使用する必要があるため、リソースを読み込めませんでした。

解決策をグーグルで検索した後、私はそれを見つけました。project's .plistファイルをソース コードとして開き、次の行を追加します。

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>mydomain.com</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
    </dict>
</dict>

ビルドをクリーンアップして実行しました-同様の警告が表示されました。その後、 iOS 9 で App Transport Security が有効になっている HTTP URL をロードするにはどうすればよいですか? に
リストされている他のさまざまなアプローチを試しました。

どれも機能しませんでした。

拒否リスクのアプローチですが、すべてのドメインを許可しようとしました。

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
      <true/>
</dict>

それもうまくいきませんでした。plistファイルをどのように編集しても、Xcode 7.0.1 がこの構成をオーバーライドしているようです。

テーマに関するアドバイスをお待ちしております。

4

1 に答える 1

1

呼び出しているドメイン名には、どのセキュリティ バージョン レイヤーがありますか?

Apple のデフォルト設定は 1.2 TLS です。API のセキュリティは 1.1 または 1.0 である可能性があります。NSExceptionMinimumTLSVersionを設定してみてください。ドメイン名を記載した info.plist の辞書を編集するだけです。TLS バージョン 1.0 セキュリティの例を次に示します。

<key>mydomain.com</key>
        <dict>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.0</string>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
            <false/>
        </dict>
于 2015-10-26T17:04:14.247 に答える