Swift3 如何解决;错误域=KCFERRORDOMAINCF网络代码=-1022“;(无效)“;错误

Swift3 如何解决;错误域=KCFERRORDOMAINCF网络代码=-1022“;(无效)“;错误,swift3,alamofire,app-transport-security,Swift3,Alamofire,App Transport Security,我已经在info.plist中添加了AppTransportSecurity密钥,并且 添加了一个名为allowArbitraryLoads的子键作为布尔值,并将其值设置为YES,如下图所示 但仍显示此错误: {Error Domain=KCFERRORDOMAINCFN网络代码=-1022“(空)”}, NSErrorFailingURLKey=, NSLocalizedDescription=无法加载资源,因为 应用程序传输安全策略要求使用安全的 连接。}) 有人能帮上忙吗?最好的解决方案

我已经在
info.plist
中添加了
AppTransportSecurity
密钥,并且 添加了一个名为
allowArbitraryLoads
的子键作为布尔值,并将其值设置为YES,如下图所示

但仍显示此错误:

{Error Domain=KCFERRORDOMAINCFN网络代码=-1022“(空)”}, NSErrorFailingURLKey=, NSLocalizedDescription=无法加载资源,因为 应用程序传输安全策略要求使用安全的 连接。})


有人能帮上忙吗?

最好的解决方案是使用安全连接(
https
而不是
http
),因为苹果将在将来拒绝不支持这种连接的应用程序,如果它们还没有开始的话。如果你还没有看过,这是一个很好的课程

好消息是,您请求的网站本机支持
https
,因此您所要做的就是在链接中添加
s

您可以在应用程序传输安全性下添加“例外域”并指定域吗。

请附上您的Info.plist AppTransportSecurity信息的屏幕截图。编辑:抱歉,我没有看到链接。您的Info.plist中的NSAllowsArbitraryLoads异常一定是设置错误。下面您接受的答案是,如果您需要域级异常。更高级别允许任意加载,所有域都将禁用该级别。我担心人们会看到公认的答案,并对问题所在产生错误的印象。谢谢,伙计。。。它的工作只是一个不在这个答案-这将最终需要一个应用商店提交的理由。正如Alec O在下面指出的那样,如果您计划将应用程序提交到应用商店,最好将所有与后端的通信切换到HTTPS,以准备苹果何时开始实施这些要求(最初计划在2017年1月1日之后提交给所有应用程序)。