【问题标题】:iOS9 - HTTP Connection ErroriOS9 - HTTP 连接错误
【发布时间】:2016-01-12 15:53:45
【问题描述】:

更新 Xcode 时出现 3 个错误

1- App Transport Security 已阻止明文 HTTP (http://) 资源加载,因为它不安全。可以通过应用的 Info.plist 文件配置临时例外。

2- CFNetwork SSLHandshake 失败 (-9824)

3- NSURLSession/NSURLConnection HTTP 加载失败 (kCFStreamErrorDomainSSL, -9824)

我试过了:

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

但他们没有工作。谁能帮帮我!谢谢。

【问题讨论】:

标签: http nsurlsession


【解决方案1】:

add to the whitelist

连接错误的域名被添加到白名单中,即使该域名已被用于 https。

【讨论】:

  • 请在答案中添加图片
【解决方案2】:

从项目导航器中单击您的项目名称。

现在,您将在右侧看到项目的“常规”选项卡。选择“信息”选项卡 展开海关 iOS 目标属性 添加一个新类型,将其命名为 NSAppTransportSecurity,类型为 Dictionary。它将在此文本中转换 App Transport Security Settings 在其中添加一个新项目并将其命名为 NSAllowsArbitraryLoads,类型为布尔值,值为 YES。

查看论坛上的这个帖子,了解更多关于苹果的详细信息... 将条目添加到 info.plist

https://forums.developer.apple.com/message/5857#5857

请参阅 WWDC 的 Session 711。 https://developer.apple.com/videos/wwdc/2015/?id=711

【讨论】:

  • 谢谢!你拯救了我的一天。
  • 请注意,Apple 可能会在提交到应用商店时拒绝使用 NSAllowsArbitratyLoads 键的应用 - 除非您有充分的理由。最好使用 NSExceptionDomains 并列出您希望从规则中豁免的所有域。以下是应用传输安全文档的链接:developer.apple.com/library/ios/documentation/General/Reference/…
  • 苹果到底在哪里说应用程序将因该异常而被拒绝?每个使用其中一个广告网络 SDK 的应用程序都有义务允许 ArbitratyLoads。所以我真的不确定你说的是真的。
  • @DocForNoc 它是一种安全措施,您的应用将仅与您列入白名单的那些链接进行通信。如果我们也允许生产阶段的所有链接,那么我们的应用程序将不被认为是安全的,并且苹果可能不允许使用允许 ArbitratyLoads 的应用程序。
猜你喜欢
  • 2011-10-23
  • 2015-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多