【发布时间】:2014-05-29 17:29:25
【问题描述】:
我的 Xcode 项目“MyMainApp”有一个名为“MyLib”的静态库类型 Xcode 子项目。现在我需要在我的 iOS 应用程序中使用一些第三方 iOS 框架。我只想将它们添加/链接到 MyLib 而不是 MyMainApp,这样我就可以使 MyLib 可重用和独立,以便在我的其他 iOS 应用程序中使用它。 MyMainApp 中的一些视图控制器使用属于 MyLib 的视图控制器之一。 MyLib 中的这个视图控制器使用来自第三方框架内的类的功能。现在我面临的问题是,如果我只将第三方框架添加到 MyLib 而没有将它们添加到 MyMainApp,我会收到链接器错误“词法或预处理器问题。找不到 XXX.h 文件”。如果我将框架添加到 MyMainApp 和 MyLib 中,一切正常,但这不是我想要的。我已确保框架搜索路径和标头搜索路径是正确的。在这种情况下,我一直无法从 Apple 那里找到任何参考资料。我想知道将第三方框架和库添加/链接到静态库类型的 Xcode 子项目的最佳实践。还有没有解决链接器错误并仅将框架添加到静态库项目的解决方案?
【问题讨论】:
-
在这里尝试理解您的问题。您是否尝试使用/分发链接第 3 方框架的框架,但您的框架的用户不必链接甚至不知道第 3 方框架?将它们全部打包到一个整洁的框架中?
-
@Lucy,我正在尝试在我的 Xcode 项目中使用静态库,并且静态库链接到其他 3rd 方框架。我想知道的是是否有可能只有静态库链接到第 3 方框架,而我的 Xcode 项目只是链接到静态库而不是第 3 方框架。目前我必须将我的 Xcode 项目和我的静态库与 3rd 方框架链接起来,否则我会收到链接器错误。
-
好的。我认为我们在同一页上,也许。我想做同样的事情。目前,我有一个通用框架,它确实链接到第 3 方框架中。而且,是的,使用我的框架的应用程序也必须链接到第 3 方框架中。我还没有尝试将 3rd 方框架添加到捆绑资源中。我在你的框架中遇到过“嵌入”框架这个术语……不知道这是什么意思。如果我找到答案,我会告诉你的。请为我做同样的事情。 :-)
-
嗨@Lucy,您找到将第三方框架链接到框架中的解决方案了吗?
-
嗨@shoujo_sm,我还在做这方面的工作。我的公司现在让我从事嵌入式 C++ 代码的工作。如果我想通了,我会告诉你,如果你想通了,请告诉我。
标签: ios xcode ios-frameworks subproject