ios - 静态库使用的框架如何在iOS上自动导入?

标签 ios objective-c frameworks static-libraries

我的公司为 iOS 应用制作了一个静态库。对于开发人员来说,一个烦人的步骤是他们必须手动链接库使用的所有必需框架,如果不这样做会导致有些困惑的编译器错误。

我以前认为这是不可能的,但 Chartboost 公司声称 automatically link against non-default frameworks像 AdSupport 和 StoreKit。根据我在他们的示例应用程序中的测试(可从链接页面获得),到目前为止情况似乎是这样(即使在链接到静态库的应用程序中禁用“启用模块”和“自动链接框架”)。

在创建静态库时有什么方法可以启用这个特性吗?我已经尝试在 Xcode 中启用模块和“自动链接框架”LLVM 选项,但到目前为止还无法使其正常工作。

最佳答案

有一段代码叫做 CBDynamicallyLoadedDependencies 在进行函数或方法调用之前在适当的系统库上调用 dlopen()

我原来的回答不正确。 dlopen() 调用仅在 x86 代码中。在设备上,情况有所不同,但我的 ARM 程序集不够强大,无法解决。我只能说有一段代码充当所需功能的蹦床,并引用系统库文件(如/System/Library/Frameworks/AdSupport.framework/AdSupport)。

但关键是,它不是一个简单的项目技巧,可以让它正常工作。涉及内部代码。

关于ios - 静态库使用的框架如何在iOS上自动导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23256455/

相关文章:

ios - 不确定公共(public)或私有(private)变量声明和自委托(delegate)?

ios - 一些 Restkit 方法不可用

ios - 无法快速设置 CustomCells 的高度

ios - 只有图像的自定义导航栏后退按钮

ios - 强制提前调用 iOS 设备上的后台任务到期处理程序以进行测试

ios - 如何在 iOS 中使用 AWSMobileClient 获取 AWS Cognito 用户属性?

ios - 如何获取嵌套在 UIView 中的 UIView 框架 - Objective C

python - 有没有像 ctypes wilndll 那样调用 Mac OS 框架的 python 函数?

ios - Swift 框架集成 - Xcode 显示错误但编译正常

ios - 在自己的框架中包含其他框架