AlanScottAgain 1 Posted July 11, 2023 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
Dave Nottage 563 Posted July 11, 2023 (edited) 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 July 11, 2023 by Dave Nottage Share this post Link to post
AlanScottAgain 1 Posted July 11, 2023 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
Remy Lebeau 1436 Posted July 11, 2023 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