协慌网

登录 贡献 社区

传输安全性阻止了明文 HTTP

根据以下错误消息,我需要在info.plist设置什么设置才能启用 HTTP 模式?

传输安全性阻止了明文 HTTP(http://)资源加载,因为它不安全。可以通过应用程序的 Info.plist 文件配置临时例外。

Xcode中

假设我的域名是example.com

答案

使用:

在此输入图像描述

您必须在. plist 文件中的NSAppTransportSecurity字典下将NSAllowsArbitraryLoads键设置为YES

Plist配置

以下是视觉设置:

通过Xcode GUI在info.plist中对NSAllowsArbitraryLoads进行可视化设置

请参阅论坛帖子Application Transport Security?

此页面还在 iOS 9 和 OSX 10.11 中配置 App Transport Security Exceptions

例如,您可以添加特定域,例如:

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSExceptionDomains</key>
  <dict>
    <key>example.com</key>
    <dict>
      <!--Include to allow subdomains-->
      <key>NSIncludesSubdomains</key>
      <true/>
      <!--Include to allow HTTP requests-->
      <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
      <true/>
      <!--Include to specify minimum TLS version-->
      <key>NSTemporaryExceptionMinimumTLSVersion</key>
      <string>TLSv1.1</string>
    </dict>
  </dict>
</dict>

懒惰的选择是:

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

注意:

info.plist是一个 XML 文件,因此您可以将此代码或多或少地放在文件中的任何位置。