Xcode 9:将静态框架与另一个静态框架链接起来

时间:2017-11-24 09:50:33

标签: ios xcode static static-libraries static-linking

本着Xcode 9"革命"的精神。功能,即编译静态框架,我们试图使我们的子项目构建为静态框架,因此它们可以静态链接到主应用程序目标。

我们的一个子项目本身就有一个静态框架依赖项(Firebase)。当我们将子项目构建为动态框架时,一切正常,但是一旦我们将它切换到mach-o staticlib,它突然失去了Firebase库符号。

以下是nm的输出,用于将子项目分别构建为动态与静态框架:

动态:

00000000001c3450 S _OBJC_CLASS_$_FIRApp

静态:

                 U _OBJC_CLASS_$_FIRApp

问题是,框架构建"成功"两种情况,但是一旦它与另一个目标(例如测试目标)链接,就会抱怨丢失符号。当它本身是一个静态框架时,我们如何确保Firebase框架中的所有符号都嵌入到子项目中?我们尝试了-all_load-ObjC链接器标记但没有用...

0 个答案:

没有答案