Jump to content
AlanScottAgain

GetCryptLibHandle Issue on ios

Recommended Posts

Hi

I'm trying to compile FB4D for ios. FB4D is dependent the JOSE library.

On Android everything is fine.
On ios I get: [DCC Error] JOSE.OpenSSL.Headers.pas(168): E2003 Undeclared identifier: 'GetCryptLibHandle' and the relevant code is IFDEFed out due to - {$IFNDEF STATICLOAD_OPENSSL}

How can I get this to work on iOS, please.

Thanks

Alan

 

PS

https://github.com/paolo-rossi/delphi-jose-jwt/issues/26
 

Share this post


Link to post
20 minutes ago, AlanScottAgain said:

I'm trying to compile FB4D for ios. FB4D is dependent the JOSE library.

FB4D is also (according to the docs) dependent on linking static libraries for SSL, for iOS*. This is at odds with JOSE, which is dependent on dynamic linking. For it to work on iOS, one will need to be changed.

*This statement in FB4D seems odd: "The library files libcrypto.a and libssl.a must be deployed within the package". Statically linked files do not need to be deployed.

 

You might also like to see this.

Edited by Dave Nottage

Share this post


Link to post

Thanks Dave,

I had not seen the FB4D Docs about iOS deployment.

I will work through that and see if I can get a compile.

 

Share this post


Link to post
13 hours ago, AlanScottAgain said:

I'm trying to compile FB4D for ios. FB4D is dependent the JOSE library.

I'm not familiar with those libraries.  In fact, I've never even heard of them before.

13 hours ago, AlanScottAgain said:

On ios I get: [DCC Error] JOSE.OpenSSL.Headers.pas(168): E2003 Undeclared identifier: 'GetCryptLibHandle' and the relevant code is IFDEFed out due to - {$IFNDEF STATICLOAD_OPENSSL}

Indy uses static linking on iOS devices.  It uses dynamic loading on every other platform, including iOS Simulator.

 

https://docwiki.embarcadero.com/RADStudio/en/OpenSSL

 

At the time when iOS support was first added to Indy, Apple supported only static libraries on iOS.  I think that has changed in recent years, but Indy has not been updated to support that yet.

13 hours ago, AlanScottAgain said:

How can I get this to work on iOS, please.

Contact the author of those other libraries and find out why they are trying to access an Indy function that doesn't exist on iOS devices.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×