简体   繁体   English

是否允许在iOS的系统库(例如:libresolv)中使用dlopen()和dlsym()?

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

Is this allowed to use dlopen() and dlsym() for system libraries (eg.: libresolv) on iOS? 是否允许在iOS的系统库(例如:libresolv)中使用dlopen()和dlsym()?

Thanks for you answer in advance! 感谢您提前回答!

Technically, and theoretically, it is allowed: it's in the POSIX API. 从技术上和理论上来说,这都是允许的:它在POSIX API中。 (You can use any function from the C and POSIX standard library.) (您可以使用C和POSIX标准库中的任何函数。)

However, dlopen() is often used for "cheating", ie 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. 但是, dlopen()通常用于“作弊”,即绕过Apple的静态分析(因为这样您就可以混淆私有框架中的私有函数的名称),因此,如果它们不打扰找出您在使用它的确切含义, ,那么您的应用可能会被拒绝。 So you'd better directly link against the library instead. 因此,您最好直接链接到库。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM