OpenSSL | iOS

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:

 

 

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.

 

API 1.1

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.

 

 

API 3.0

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.