从iOS 9及更高版本开始,Apple已强制用户使用特定主机进行HTTPS请求以达到安全目的,或者如果必须发出HTTP请求,Apple会要求用户在plist中提供相同的内容。
类似的东西:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>api.themoviedb.org</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
但是,如果我从plist中删除此代码,并在设备上运行我的代码(iOS 11),它仍然正确地加载HTTP请求,而不会发出任何警告。
问题是,如果Apple强制使用HTTPS,为什么我能够在没有任何警告的情况下进行HTTP呼叫?
答案 0 :(得分:1)
似乎没有根据@KrauseFX最近的Twitter对话 https://twitter.com/KrauseFx/status/942741438890233856
以为我会分享