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

问题描述 投票:1回答:3

我是iOS编程的新手。我想将我的应用程序连接到my web service (HTTPS)

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

enter image description here

使用iOS 9模拟器时不会出现此错误。我已经尝试过各种方式,就像人们对stackoverflow说的那样,没有一个能解决我的问题。

更新:

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

enter image description here

如何在iOS 10中实现ATS?

提前致谢。

swift3 ios10 nsurlsession app-transport-security xcode8.2
3个回答
2
投票

在我的情况下,我更改了我的API域上的SSL证书与Apple在this link中提到的可信任的SSL证书。


1
投票

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

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

有关更多详情,请参阅Apple Document.

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

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

open Info.plist file like

open plist

在里面添加TransportSecurity

Add inside plist

要么

Can add also


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.