Per installare OpenSSL su un dispositivo iOS a 64 bit, deve copiare i file delle librerie SSL libcrypto.a e libssl.a nel Suo sistema. Scarichi il file .zip di iOS OpenSSL, lo estragga e individui i file .a nella directory \lib. Deve copiare i file delle librerie SSL libcrypto.a e libssl.a in queste directory:
C:\Program Files (x86)\Embarcadero\Studio\<IDE Version>\lib\iosDevice64\debug
C:\Program Files (x86)\Embarcadero\Studio\<IDE Version>\lib\iosDevice64\release
Aggiungere l'unità sgcIdSSLOpenSSLHeaders_static (o IdSSLOpenSSLHeaders_static se la propria edizione di sgcWebSockets non è Enterprise) alla clausola uses.
Se è necessario distribuire un file, è possibile impostare RemotePath = StartUp\Documents e per caricare il file utilizzare (richiede l'aggiunta di System.IOUtils alla clausola uses):
TPath.GetDocumentsPath + PathDelim + <nome del file>
Le librerie openSSL non devono essere distribuite tramite il menu Progetto/Distribuzione in iOS.
Modificare IdCompilerDefines.inc e abilitare SGC_OPENSSL_API_1_1 nella sezione IOS:
{$IFDEF IOS}
{$DEFINE HAS_getifaddrs}
{$DEFINE USE_OPENSSL}
{$IFDEF CPUARM}
// RLebeau: Per i dispositivi iOS, OpenSSL non può essere utilizzato come libreria esterna,
// deve essere collegato staticamente nell'app. Per il simulatore iOS, questo
// is not true. Users who want to use OpenSSL in iOS device apps will need
// per aggiungere la libreria statica OpenSSL al progetto e poi includere il
// IdSSLOpenSSLHeaders_static unit in their uses clause. It hooks up the
// funzioni collegate staticamente per l'uso dell'unità IdSSLOpenSSLHeaders...
{$DEFINE STATICLOAD_OPENSSL}
// sgc--> abilitare per openssl API 1.1
{$DEFINE SGC_OPENSSL_API_1_1}
{$ENDIF}
{$ENDIF}
È possibile scaricare le librerie dal proprio account.
Modificare IdCompilerDefines.inc e abilitare SGC_OPENSSL_API_1_1 e SGC_OPENSSL_API_3_0 nella sezione IOS:
{$IFDEF IOS}
{$DEFINE HAS_getifaddrs}
{$DEFINE USE_OPENSSL}
{$IFDEF CPUARM}
// RLebeau: Per i dispositivi iOS, OpenSSL non può essere utilizzato come libreria esterna,
// deve essere collegato staticamente nell'app. Per il simulatore iOS, questo
// is not true. Users who want to use OpenSSL in iOS device apps will need
// per aggiungere la libreria statica OpenSSL al progetto e poi includere il
// IdSSLOpenSSLHeaders_static unit in their uses clause. It hooks up the
// funzioni collegate staticamente per l'uso dell'unità IdSSLOpenSSLHeaders...
{$DEFINE STATICLOAD_OPENSSL}
// sgc--> abilitare per 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}
È possibile scaricare le librerie dal proprio account.