Pour installer OpenSSL sur un appareil iOS 64 bits, vous devez copier les fichiers de bibliothèque SSL libcrypto.a et libssl.a sur votre système. Téléchargez le fichier .zip OpenSSL iOS, extrayez-le et trouvez les fichiers .a dans le répertoire \lib. Vous devez copier les fichiers de bibliothèque SSL libcrypto.a et libssl.a vers ces répertoires :
C:\Program Files (x86)\Embarcadero\Studio\<IDE Version>\lib\iosDevice64\debug
C:\Program Files (x86)\Embarcadero\Studio\<IDE Version>\lib\iosDevice64\release
Ajoutez l'unité sgcIdSSLOpenSSLHeaders_static (ou IdSSLOpenSSLHeaders_static si votre édition sgcWebSockets n'est pas Enterprise) à votre clause uses.
Si vous avez besoin de déployer un fichier, vous pouvez définir RemotePath = StartUp\Documents et pour charger le fichier utiliser (nécessite d'ajouter System.IOUtils à la clause uses) :
TPath.GetDocumentsPath + PathDelim + <votre nom de fichier>
Les bibliothèques openSSL ne doivent pas être déployées en utilisant le menu Projet/Déploiement sous iOS.
Modifiez IdCompilerDefines.inc et activez SGC_OPENSSL_API_1_1 dans la section IOS :
{$IFDEF IOS}
{$DEFINE HAS_getifaddrs}
{$DEFINE USE_OPENSSL}
{$IFDEF CPUARM}
// RLebeau: For iOS devices, OpenSSL cannot be used as an external library,
// il doit être lié statiquement dans l'application. Pour le simulateur iOS, ceci
// n'est pas vrai. Les utilisateurs qui souhaitent utiliser OpenSSL dans les applications pour appareils iOS devront
// pour ajouter la bibliothèque OpenSSL statique au projet et inclure ensuite le
// IdSSLOpenSSLHeaders_static unit in their uses clause. It hooks up the
// fonctions liées statiquement pour l'utilisation par l'unité IdSSLOpenSSLHeaders...
{$DEFINE STATICLOAD_OPENSSL}
// sgc--> activer pour openssl API 1.1
{$DEFINE SGC_OPENSSL_API_1_1}
{$ENDIF}
{$ENDIF}
Vous pouvez télécharger des bibliothèques depuis votre compte.
Modifiez IdCompilerDefines.inc et activez SGC_OPENSSL_API_1_1 et SGC_OPENSSL_API_3_0 dans la section IOS :
{$IFDEF IOS}
{$DEFINE HAS_getifaddrs}
{$DEFINE USE_OPENSSL}
{$IFDEF CPUARM}
// RLebeau: For iOS devices, OpenSSL cannot be used as an external library,
// il doit être lié statiquement dans l'application. Pour le simulateur iOS, ceci
// n'est pas vrai. Les utilisateurs qui souhaitent utiliser OpenSSL dans les applications pour appareils iOS devront
// pour ajouter la bibliothèque OpenSSL statique au projet et inclure ensuite le
// IdSSLOpenSSLHeaders_static unit in their uses clause. It hooks up the
// fonctions liées statiquement pour l'utilisation par l'unité IdSSLOpenSSLHeaders...
{$DEFINE STATICLOAD_OPENSSL}
// sgc--> activer pour 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}
Vous pouvez télécharger des bibliothèques depuis votre compte.