簡體   English   中英

iOS 9和iOS 10中的App Transport Security問題

[英]App Transport Security issue in iOS 9 and iOS 10

Apple宣布NSAllowArbitraryLoads不會很快發布。 因此,在iOS 10中,我在info.plist中有這個:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>myAPIdomain</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
        <key>NSAllowsArbitraryLoadsInWebContent</key>
        <true/>
    </dict>

這適用於我在UIWebView中的API請求和內容。 然而,在iOS9, NSAllowsArbitraryLoadsInWebContent不支持,建議包括NSAllowsArbitraryLoads為iOS 9支持。 但我認為這會覆蓋我的NSExceptionDomains設置? 如何在iOS 9和iOS 10上為我的API和UIWebView提供HTTP請求仍然可以遵循Apple的規則?

編輯

支持iOS 9和iOS 10:

<key>NSAppTransportSecurity</key>
        <dict>
            <key>NSExceptionDomains</key>
            <dict>
                <key>myAPIdomain</key>
                <dict>
                    <key>NSIncludesSubdomains</key>
                    <true/>
                    <key>NSExceptionAllowsInsecureHTTPLoads</key>
                    <true/>
                </dict>
            </dict>
            <key>NSAllowsArbitraryLoadsInWebContent</key>
            <true/>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
        </dict>
<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

如果您不想支持https(TLS 1.2),則可以使用上述條件。 但你必須確保它將是一個臨時修復。 從2017年初開始,Apple將https(TLS 1.2)作為強制性要求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM