众所周知,静态库可以在Iphone应用程序中很好地工作,并且您的应用程序可以很容易地被IOS App Store批准
不幸的是,我现在使用的两个静态库有一些C函数和变量.
所以我将它们编译成*.dylib(动态库),并将它们复制到XCode中的"Bundle Resources".
dylib_handle = dlopen(dylib_path_in_resource_bundle, RTLD_LAZY);
func = dlsym(dylib_handle, "func");
// invoke func();
Run Code Online (Sandbox Code Playgroud)
这在模拟器和Ipad(当然,不同的动态库)中运行良好.
我注意到有人说Iphone应用程序不支持任何第三方动态库,我的应用程序将被拒绝.(看这里)
但我仔细阅读了"App Store评论指南",我发现没有任何项目符合我的问题.
我现在很困惑!
iphone应用程序是否支持动态库?IOS AppStore是否允许这样做?
谁能给我官方回复.
正如贝尔纳多·拉莫斯在评论中所述:"自iOS8以来,我们可以使用动态库".
App Store不允许使用动态库.在运行时不能加载任何代码.答案是将它们转换为静态库并将它们编译到应用程序中.
来自iPhoneOSTechOverview:
"如果要将框架或动态库中的代码集成到应用程序中,则应在构建项目时将该代码静态链接到应用程序的可执行文件中."
读"应该"为"必须"
请参阅答案:可以为iOS创建动态库吗?