gpt4 book ai didi

iphone - 我可以在我的 iPhone 应用程序中使用动态库(共享对象)吗?

转载 作者:可可西里 更新时间:2023-11-01 03:50:12 27 4
gpt4 key购买 nike

众所周知,静态库在Iphone App中可以很好的运行,并且你的App很容易被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();

这在模拟器和Ipad(当然是不同的动态库)中运行良好。

我注意到有人说 Iphone 应用程序不支持任何第三方动态库,我的应用程序将被拒绝。 (看这里)

但我仔细阅读了“App Store Review Guidelines”,没有找到符合我问题的项目。

我现在很困惑!

iphone app 支持动态库吗? IOS AppStore 是否允许这样做?

谁能给我官方回复

最佳答案

正如 Bernardo Ramos 在评论中所说:“从 iOS8 开始,我们可以使用动态库”。

App Store 不允许使用动态库。运行时不得加载任何代码。答案是将它们转换为静态库并将它们编译到应用程序中。

来自 iPhoneOSTechOverview:

“如果您想将框架或动态库中的代码集成到您的应用程序中,您应该在构建项目时将该代码静态链接到应用程序的可执行文件中。”

把“应该”读成“必须”

参见 SO 答案:Can create dynamic library for iOS?

关于iphone - 我可以在我的 iPhone 应用程序中使用动态库(共享对象)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7187649/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com