OpenSSL and HTTPS Support for iOS Devices

by Dec 29, 2014

For the iOS Device target platform, which does not support dynamic libraries, you need a static version of these library files (libcrypto.a and libssl.a). To obtain these library files, do either of the following:

  1. Download the pre-compiled libraries from Github.
  2. Build these libraries from sources. Download the sources from Github and follow the steps described in Tutorial: Script for Building OpenSSL for iOS (iPhone/iPad) to compile these libraries.

After you have these library files, copy them into a folder where your project searches for libraries, such as the main project folder.

If building with Object Pascal, you need to add the IdSSLOpenSSLHeaders_static unit to any uses clause of your project.

If building with C++ the RAD Studio IDE needs to be configured so your project can link with lib crypto and libssl. Select Project > Options > C++ Linker, and set "Link with SSL and Crypto" to True.

Cpp-Linker-iOS

Lastly, in your project code, include the static header with a #if defined to ensure the file is only included when deploying to an iOS device.

 

#if defined(TARGET_OS_IPHONE)
    #include <IdSSLOpenSSLHeaders_Static.hpp>
#endif

For more information on deploying iOS applications, please refrence the RAD Studio Doc Wiki: Creating an iOS App.