En supposant que vous parlez d'une fonction C, vous pouvez le faire avec la fonction dlopen
:
#include
int main() {
void *lib = dlopen("/System/Library/Frameworks/ApplicationServices.framework/ApplicationServices", RTLD_LAZY);
void *function = dlsym(lib, "CGColorGetConstantColor");
// cast the function to the right format
CGColorRef (*dynamic_getConstantColor)(CFStringRef colorName) = function;
NSLog(@"%@", dynamic_getConstantColor(CFSTR("kCGColorBlack")));
dlclose(lib);
}
Sortie:
2013-06-20 12:43:13.510 TestProj\[1699:303\] \[ (kCGColorSpaceICCBased; kCGColorSpaceModelMonochrome; Generic Gray Profile)\] ( 0 1 )
Vous devrez d'abord trouver la dylib dans laquelle réside la fonction que vous voulez.
Ceci va contourner les limitations de sandbox sur iOS, et probablement aussi sur Mac. C'est le prix à payer pour essayer de contourner le linker.