微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我的公司为iOS应用程序创建了一个静态库.对于开发人员来说,一个令人讨厌的步骤是他们必须手动链接库所使用的所有必需框架,否则会导致编译器错误有些混乱.

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

在创建静态库时是否有某种方法可以启用此功能?我已经尝试在Xcode中启用模块和“Link Frameworks Automatically”LLVM选项,但到目前为止还没有能够使它工作.

解决方法

在进行函数方法调用之前,有一段代码称为CBDynamicallyLoadedDependencies,它在相应的系统库上调用dlopen().

我的原始答案不正确. dlopen()调用就在x86代码中.在设备上,它有所不同,但我的ARM组件不够强大,无法弄明白.我只能说,有一段代码可以作为所需功能的蹦床,并引用系统库文件(如/System/Library/Frameworks/AdSupport.framework/AdSupport).

但重点是,它不是一个简单的项目技巧,使其正常工作.涉及内部代码.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐