0

プロパティ NSAppTransportSecurity の下の info.plist で、アプリが通信する一連のドメインを追加しました。しかし、何らかの理由で、私の設定は追加されたドメインの一部でしか機能せず、すべてでは機能しませんが、その理由はわかりません。どんなアイデアでもとても役に立ちます。前もって感謝します。

たとえば、ドメイン googleapis.com では機能しますが、imeteo.sk、imeteo.cz、またはサブドメイン ( http://m.imeteo.cz )では機能しません。

ここに私のinfo.plistのスニペットがあります

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowExceptionDomains</key>
    <dict>
        <key>imeteo.cz</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
        <key>imeteo.sk</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
        <key>googleapis.com</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
            <key>NSIncludesSubdomains</key>
            <true/>
        </dict>
    </dict>
</dict>

このドメインまたはサブドメインのいくつかを webview に読み込もうとすると、次のようになります。

安全ではないため、App Transport Security はクリアテキストの HTTP (http://) リソースの読み込みをブロックしました。一時的な例外は、アプリの Info.plist ファイルを介して構成できます。

4

1 に答える 1

0

次のように、 NSExceptionallowsInsecureHTTPLoadsNSExceptionMinimumTLSVersionNSTemporaryExceptionallowsInsecureHTTPLoadsNSTemporaryExceptionMinimumTLSVersionに置き換えてみてください。

http://www.neglectedpotential.com/2015/06/working-with-apples-application-transport-security/

また、NSAllowExceptionDomainsの代わりにNSExceptionDomainsを使用しています。

于 2015-11-25T15:31:49.450 に答える