2

我是 iOS 编程新手。我想将我的应用程序连接到我的网络服务 (HTTPS)

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

在此处输入图像描述

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

更新:

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

在此处输入图像描述

如何在 iOS 10 中实现 ATS?

提前致谢。

4

3 回答 3

3

就我而言,我将我的 API 域上的 SSL 证书更改为 Apple 在此链接中提到的受信任证书。

于 2017-01-11T15:20:49.870 回答
1

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

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

详情请参阅Apple 文档。

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

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

打开 Info.plist 文件,如

打开列表

在里面添加 TransportSecurity

在 plist 中添加

或者

还可以加

于 2016-12-29T16:55:56.650 回答
0

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

于 2019-04-22T08:22:30.030 回答