在运行时dynamic下载和执行iOS代码

作为一个学术和心理练习,如何下载一个预编译的二进制文件并在iOS设备上执行其中的方法?

我知道这违反了苹果的许可协议,第3.2.2节,但我要求个人项目,并了解更多关于iOS运行时。

目标

  • 下载http://someexample.com/MyCoolBinary.a
  • 保存下载的二进制文件到设备盘
  • 调用二进制中存在的已知方法。

我试过了

我没有尝试过任何具体的东西,但是我会想象有可能沿着…的方向做一些事情。

void *myDownloadedLibrary = dlopen("/path/to/newly/downloaded/framework/MyCoolBinary.framework") dlsym(myDownloadedLibrary) 

任何例子或指针什么样的图书馆这将与工作将不胜感激。
谢谢。

尝试类似

 void *uikit = dlopen("path_to_dylib", RTLD_LAZY); id (*FunctionName)(id) = dlsym(uikit, "FunctionName"); FunctionName(arg1); dlclose(uikit); 

有关更多信息,请阅读http://en.wikipedia.org/wiki/Dynamic_loading