xcode 如何使用框架进行开发

Posted

技术标签:

【中文标题】xcode 如何使用框架进行开发【英文标题】:xcode how to develop with frameworks 【发布时间】:2018-06-27 19:43:53 【问题描述】:

感谢您花时间阅读我的问题。

我作为一名 ios 开发人员已经工作了 2 年多,今天我仍然感到羞耻,因为我不知道如何处理框架。我使用自己的框架构建了一些项目,但我从来不明白这样做的最佳实践是什么。

让我们看看下面的例子:

项目 -> FrameworkA -> AFNetworking - 图表 - FMDB - 更多

所以,我有一个包含大部分应用程序行为的大型 FrameworkA,然后是一个引用此 FrameworkA 并仅自定义图标、文本和图像的小项目。我使用 CocoaPods 来管理依赖项,我想将它与 FrameworkA 一起使用。这样我可以轻松地引用外部库,但它似乎不适用于框架,仅适用于项目。所以,我的问题是:如何将 AFNetworking、Charts、FMDB 等添加到我的 FrameworkA 中,然后在我的项目中引用该框架?

如果您能给我一些使用 CocoaPods 或任何其他依赖项管理器的想法,我将不胜感激。我不喜欢手动执行此操作的旧方式。

我希望我的情况很清楚。 谢谢!

【问题讨论】:

别害羞。这东西很难。继续努力! 另外,您遇到的问题和问题根本不清楚。究竟是什么问题?请澄清。 我不知道如何使用依赖管理器(如 CocoaPods)开发一个依赖于其他一些框架(如 AFNetworking)的 frameworkA。然后从任何项目链接frameworkA。谢谢 【参考方案1】:

听起来您在问如何将 AFNetworking 等外部框架嵌入到您正在开发的框架中,然后在您的应用程序中使用该框架。

这就是所谓的嵌入式框架,其中一个框架存储在另一个框架中。一般来说,这不是一个好主意,应该避免,因为它会导致版本冲突问题。

我建议这样做的方法是使用 CocoaPods 或 Carthage 将外部框架(AFNetworking 等)链接到您的框架项目中。但一定要尝试嵌入它们。

然后在您的应用项目中,再次使用 CocoaPods 或 Carthage 链接到您的框架中(您不需要链接外部的,除非您直接在应用代码中使用它们)。然后添加必要的构建步骤,将您的框架文件和所有外部框架文件复制到完成的应用的框架目录中。

【讨论】:

感谢@drekka,但我认为不可能将 CocoaPods 与框架一起使用。我什至尝试过,我得到如下编译错误:***.com/questions/35927109/… 它们可能不是框架本身,而是看起来像框架的静态库。对于那些,您只需要链接到它们,它们就会被编译到您的框架/应用程序二进制文件中。

以上是关于xcode 如何使用框架进行开发的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Xcode 中进行 Qt 开发(可使用使用 Homebrew 来安装qt)

如何使用 Monotouch 或 Xcode 4.2 对 PDF 文件进行数字签名?

如何在 Xcode 7 中启用_BITCODE?

如何设置 Xcode Playground 以稳定地使用构建的框架?

Xcode里面如何添加pch文件??

如何使用 Xcode 10 而不是 swift 添加 CoreLocation 框架?