Hello Antony.

On another note, are you aware of commercially available native swift bindings/wrappers for the WolfSSL library?
Similar to the JNDI for Android, but for Swift?

My understanding is that we do need to carefully take care of unsafe/opaque pointers ourselves, unless native bindings happen to exist, and that the library is designed to be used in C.

Thanks Michele.

Sorry, the right command to use is actually nm -a, and it shows all the symbols.
Managed to get the library to compile with 5.6.2 stable without missing symbols.
Thanks, Michele

That is precisely what I am doing.
But it is not working.

With this user_settings.h, with the release wolfssl-5.6.2-stable, inside the IDE/XCODE workspace,
after compiling libwolfssl_ios.a , running the following command:

nm -gu libwolfssl_ios.a > symbols.txt
results in a list of symbols, contained inside libwolfssl_ios.a that just include the following "methods":

_InitSSL_Method
_wolfTLSv1_3_client_method
_wolfSSL_BIO_method_type

In particular, the method wolfTLSv1_3_server_method is absent, despite the library having been compiled with the defines:
#define WOLFSSL_TLS13
#define WOLFSSL_EITHER_SIDE

I am attaching my user_seettings.h file

I believe this is a bug.

Is TLS1.3 supported on Xcode only in the FIPS enabled version?
Am I doing something wrong?

Hello, I have a similar problem.

After compiling the library with Xcode, I can see that even providing the following additions to the user_options.h file, the compiled .a library does not contain the TLS1.3 methods:


#define WOLFSSL_TLS13
#define NO_RSA
#define HAVE_FFDHE_2048
#define HAVE_HKDFe

What is the correct way of compiling WolfSSL with support for iOS and macOS, from Xcode, so that TLS1.3 is enabled?

BTW I know that the .a library does not contain, e.g.: wolfTLSv1_3_server_method(), because that symbol is not present in the list of symbols found with the command nm -gu libwolfssl_ios.a
Apparently _wolfTLSv1_1_client_method is instead there as a symbol, and that is not what I would like.