在我的iOS应用程序中包含HTTP(非HTTPS)URL链接,是否需要禁用应用程序传输安全?

在我的iOS应用程序中包含HTTP(非HTTPS)URL链接,是否需要禁用应用程序传输安全?,ios,app-transport-security,nsapptransportsecurity,Ios,App Transport Security,Nsapptransportsecurity,我的iOS应用程序包含一个隐私策略URL链接,当用户点击它时,它将在Safari中打开我网站的HTTP(而不是HTTPS)页面,所以我需要为此禁用应用程序传输安全吗 <key>NSAppTransportSecurity</key> <dict> <!--Include to allow all connections (DANGER)--> <key>NSAllowsArbitraryLoads</key>

我的iOS应用程序包含一个隐私策略URL链接,当用户点击它时,它将在Safari中打开我网站的HTTP(而不是HTTPS)页面,所以我需要为此禁用应用程序传输安全吗

<key>NSAppTransportSecurity</key>
<dict>
    <!--Include to allow all connections (DANGER)-->
    <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
NSAppTransportSecurity
NSAllowsArbitraryLoads

,使用
UIApplication.open(:)
打开HTTP URL时,或者在
SFSafariViewController
中打开时,不必禁用应用程序传输安全性


但是,如果您计划在
WKWebView

中加载不安全的页面,您确实需要启用“允许任意加载”,为什么WKWebView需要它,而不是SFSafariViewController@Tamás Sengels可能是因为默认情况下,SFSafariViewController比WKWebView更安全。引用苹果的话:“用户的活动和与SFSafariViewController的交互对你的应用程序是不可见的,你的应用程序无法访问自动填充数据、浏览历史记录或网站数据。”官方上,我认为这是因为SFSafariViewController与你的应用程序是一个独立的过程,因此,应用程序中配置的任何ATS异常都不适用于Safari流程。因此,这本质上就像在Safari中加载不安全的页面,它无法访问您的沙盒应用程序。