繁体   English   中英

在UIWebView中加载网站时出错

[英]Error loading web in UIWebView

我正在使用UIWebView,但无法加载Facebook。 我不得不说我正在使用xcode 7 beta 2和iOS 9.0 beta 4。

这是错误:

Error Domain=NSURLErrorDomain Code=-1022 "The resource could not be loaded because the App Transport Security policy requires the use of a secure connection."

因此,我将回答我自己的问题。 正如CSmith回答的那样,苹果希望我们使用App Transport Security(ATS)。 但是,由于许多人还没有准备好,我将向您展示避免这种情况的方法。 在您的info.plist中添加以下内容:

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

相关: iOS 9 ... WebView是否不受阻止不安全HTTP主机的应用程序传输安全例外(ATS)规则的约束?

在iOS 9(和OS X 10.11)中,应用程序不应发出不受保护的HTTP请求,因此默认情况下将其禁用。 另外,您应将TLS 1.2与向前保密一起使用。 RC4和SHA-1证书签名已禁用,RSA密钥至少应为2048位长(EC为256位)。

如果您确实想使用http或更不安全的https,则可以在应用程序的info.plist文件中定义例外。

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
  <key>NSExceptionDomains</key>
  <dict>
    <key>yourserver.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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM