Is this allowed to use dlopen() and dlsym() for system libraries (eg.: libresolv) on iOS?

523 Views Asked by At

Is this allowed to use dlopen() and dlsym() for system libraries (eg.: libresolv) on iOS?

Thanks for you answer in advance!

1

There are 1 best solutions below

0
On

Technically, and theoretically, it is allowed: it's in the POSIX API. (You can use any function from the C and POSIX standard library.)

However, dlopen() is often used for "cheating", i. e. for circumventing Apple's static analysis (because then you can obfuscate the name of private functions in private frameworks), so if they don't bother finding out what exactly you are using it for, then your app may be rejected. So you'd better directly link against the library instead.