如何在最新的Delphi中使用本机调用在iOS上进行HTTPS / POST?

时间:2013-05-12 21:44:41

标签: delphi delphi-xe4

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

1 个答案:

答案 0 :(得分:0)

我明白了......

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