1

Delphi 的最新版本 XE4 允许构建 iOS 应用程序。新闻组上有一些关于使用原生 iOS 库进行 HTTPS/发布以避免 OpenSSL 库和 Indy 10 问题的讨论。使用原生库执行 HTTP 发布的推荐方法是什么?(在我的示例中,JSON 文档上传和响应。)

4

1 回答 1

0

我想到了...

背景:Indy,XE4 中用于 web 服务调用的“本机”代码,依赖于 OpenSSL。在大多数情况下,OpenSSL 通过动态库(在 Windows 中为 DLL)链接到。iOS 不支持动态库,因此一旦将代码编译成二进制文件并发送到 iOS 设备,OpenSSL 调用就会失败,因为没有后备库。解决方案是将 OpenSSL 编译到您的项目中。您可以通过下载 OpenSSL 源代码并将其添加到您的项目中来做到这一点,或者从其他地方获取静态库并将它们添加到您的项目中。我在这里找到了静态库:http: //indy.fulgan.com/SSL/OpenSSLStaticLibs.7z 那是印地镜子之一,所以希望它应该没问题。您需要将这两个文件放在您的项目了解的地方,然后将 IdSSLOpenSSLHeaders_Static 添加到您的使用中。现在,您的编译代码将包含 OpenSSL 代码,您的问题应该得到解决。

于 2013-06-28T18:20:19.470 回答