Apple在使用Open SSL时使用它的App Transport Security进行了一些更改,但我无法在iOS
上使用它。
“App Transport Security是一项可以提高安全性的功能 应用程序和Web服务之间的连接。该功能包括 符合最佳实践的默认连接要求 安全连接。应用可以覆盖此默认行为并转向 运输安全。 iOS 9.0或更高版本中提供传输安全性 稍后,在OS X v10.11及更高版本中。“
尝试连接到我们的服务器时,出现以下响应错误:
“发生了SSL错误,无法与服务器建立安全连接。”
然后,我发现this tutorial并发现我们需要做的就是将单位IdSSLOpenSSLHeaders_Static
包含在项目的一个用语中。
我确实将单元以及libcrypto.a
和libssl.a.
库添加到项目中,但到目前为止,我得到了相同的响应错误。
我可能做错了什么?
答案 0 :(得分:1)
要停用 ATS ,您需要在this official embarcadero documentation中另外执行以下步骤:
打开 Info.plist 并添加以下行:
<key> NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
这将禁用Apple针对应用程序使用的所有 HTTP通信的应用传输安全功能,例如,如果您使用TWebBrowser
或Project Indy的HTTP
组件。
您项目的Info.plist
文件重新生成。您需要将文件保存到其他位置,例如项目目录。 (请注意,32位和64位版本略有不同)。
在新保存的文件中进行更改,然后转到部署管理器(项目 - &gt;部署)。确保正确设置配置并取消选中默认Info.plist 。
添加新的自定义版本,确保将远程名称设置为“Info.plist”(区分大小写)。为64位和32位部署执行此操作。