In IOS release mode app, symbols mysteriously get striped. Here's the missing piece from the doc.

If symbol is exported in C++, extern "C" is not enough. Make sure attribute markups are there

extern "C" /* <= C++ only */ __attribute__((visibility("default"))) __attribute__((used))

If symbol is exported in swift, @_cdecl is not enough too. You must make sure the symbol is public.