Swift3 POST请求错误:NSURLConnection HTTP加载失败iOS 10

Swift3 POST请求错误:NSURLConnection HTTP加载失败iOS 10,swift3,ios10,nsurlsession,app-transport-security,xcode8.2,Swift3,Ios10,Nsurlsession,App Transport Security,Xcode8.2,我对iOS编程还不熟悉。我想将我的应用程序连接到 当我在iOS 10中使用“Alamofire 4.0”运行POST请求时,为什么XCode会告诉我这个错误 当我使用iOS9模拟器时,不会出现此错误。正如人们在stackoverflow上所说,我尝试了各种方法,但都没有解决我的问题 更新: 我已经在我的info.plist中添加了这个,但仍然得到相同的错误 如何在iOS 10中实现ATS 提前感谢。应用程序传输安全ATS在应用程序及其后端之间的安全连接方面实施最佳实践。ATS防止意外泄露,提供安

我对iOS编程还不熟悉。我想将我的应用程序连接到

当我在iOS 10中使用“Alamofire 4.0”运行POST请求时,为什么XCode会告诉我这个错误

当我使用iOS9模拟器时,不会出现此错误。正如人们在stackoverflow上所说,我尝试了各种方法,但都没有解决我的问题

更新:

我已经在我的info.plist中添加了这个,但仍然得到相同的错误

如何在iOS 10中实现ATS


提前感谢。

应用程序传输安全ATS在应用程序及其后端之间的安全连接方面实施最佳实践。ATS防止意外泄露,提供安全的默认行为,易于采用;在iOS 9和OS X v10.11中,默认情况下它也是打开的。无论您是在创建新应用程序还是在更新现有应用程序,都应尽快采用ATS

如果你正在开发一个新的应用程序,你应该只使用HTTPS。如果你有一个现有的应用程序,你现在就应该尽可能多地使用HTTPS,并尽快创建一个迁移其余应用程序的计划。此外,您通过更高级别API进行的通信需要使用TLS 1.2版进行加密,并具有前向保密性。如果尝试建立不符合此要求的连接,则会引发错误。如果应用程序需要向不安全的域发出请求,则必须在应用程序的Info.plist文件中指定此域

详情请参阅

您需要在Info.plist中进行更改

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
打开Info.plist文件,如 在内部添加TransportSecurity 或


在我的例子中,我将API域上的SSL证书更改为Apple在中提到的受信任的证书。

检查您的移动网络,这主要是原因。

哪个域?如果我们能看到您的服务器实际提供的内容,那么提供建议就容易多了-@dgatwood,这是域:尝试运行nscurl-ats诊断https://api.wideboard.me/ 在Mac上的终端中。查找报告的错误。@wottle,我找到了。使用该命令行执行的所有测试的结果都是“通过”。请帮我解决这个问题。你是在阿拉莫菲尔更新了plist,还是仅仅在你的项目中更新了plist?您需要在这两种情况下禁用ATS。一旦您确认了这一点,请按此处所述更新日志记录:如果在AlamoFire模块中禁用ATS后仍然看到导致问题的SSL错误,请查看导致问题的确切SSL错误。实际上,为了澄清,转发保密是你可以在ATS中禁用的设置之一,当苹果开始执行该要求时,在提交给应用商店时不需要额外的理由。我也面临同样的错误,你能解释一下如何解决这个问题吗@用户1994这是准确的答案。更改应用程序传输安全性没有任何作用,我想它在Xcode 10以后的版本中已经修复了,而且很危险。