Aby zainstalować OpenSSL na 64-bitowym urządzeniu iOS, należy skopiować pliki biblioteki SSL libcrypto.a i libssl.a do systemu. Należy pobrać plik .zip iOS OpenSSL, wypakować go i znaleźć pliki .a w katalogu \lib. Pliki biblioteki SSL libcrypto.a i libssl.a należy skopiować do następujących katalogów:
C:\Program Files (x86)\Embarcadero\Studio\<IDE Version>\lib\iosDevice64\debug
C:\Program Files (x86)\Embarcadero\Studio\<IDE Version>\lib\iosDevice64\release
Dodaj jednostkę sgcIdSSLOpenSSLHeaders_static (lub IdSSLOpenSSLHeaders_static, jeśli Twoja edycja sgcWebSockets nie jest Enterprise) do klauzuli uses.
Jeśli zachodzi potrzeba wdrożenia dowolnego pliku, można ustawić RemotePath = StartUp\Documents, a do załadowania pliku należy użyć poniższego kodu (wymaga dodania System.IOUtils do klauzuli uses):
TPath.GetDocumentsPath + PathDelim + <nazwa pliku>
Biblioteki openSSL nie mogą być wdrażane za pomocą menu Project/Deployment w systemie iOS.
Zmodyfikuj IdCompilerDefines.inc i włącz SGC_OPENSSL_API_1_1 w sekcji IOS:
{$IFDEF IOS}
{$DEFINE HAS_getifaddrs}
{$DEFINE USE_OPENSSL}
{$IFDEF CPUARM}
// RLebeau: For iOS devices, OpenSSL cannot be used as an external library,
// musi być statycznie zlinkowany z aplikacją. W przypadku symulatora iOS,
// nie jest prawdą. Użytkownicy chcący korzystać z OpenSSL w aplikacjach na urządzenia iOS będą potrzebować
// aby dodać statyczną bibliotekę OpenSSL do projektu i następnie dołączyć
// IdSSLOpenSSLHeaders_static unit in their uses clause. It hooks up the
// statycznie linkowane funkcje dla jednostki IdSSLOpenSSLHeaders...
{$DEFINE STATICLOAD_OPENSSL}
// sgc--> enable for openssl API 1.1
{$DEFINE SGC_OPENSSL_API_1_1}
{$ENDIF}
{$ENDIF}
Biblioteki można pobrać ze swojego konta.
Zmodyfikuj IdCompilerDefines.inc i włącz SGC_OPENSSL_API_1_1 oraz SGC_OPENSSL_API_3_0 w sekcji IOS:
{$IFDEF IOS}
{$DEFINE HAS_getifaddrs}
{$DEFINE USE_OPENSSL}
{$IFDEF CPUARM}
// RLebeau: For iOS devices, OpenSSL cannot be used as an external library,
// musi być statycznie zlinkowany z aplikacją. W przypadku symulatora iOS,
// nie jest prawdą. Użytkownicy chcący korzystać z OpenSSL w aplikacjach na urządzenia iOS będą potrzebować
// aby dodać statyczną bibliotekę OpenSSL do projektu i następnie dołączyć
// IdSSLOpenSSLHeaders_static unit in their uses clause. It hooks up the
// statycznie linkowane funkcje dla jednostki IdSSLOpenSSLHeaders...
{$DEFINE STATICLOAD_OPENSSL}
// sgc--> enable for openssl API 1.1
{$DEFINE SGC_OPENSSL_API_1_1}
// sgc--> enable for openssl API 3.0
{$DEFINE SGC_OPENSSL_API_3_0}
{$ENDIF}
{$ENDIF}
Biblioteki można pobrać ze swojego konta.