ios - 用于将框架链接和嵌入到工作区中的应用程序的 Xcode 构建过程

标签 ios xcode frameworks dependencies build-process

我已将我正在开发的应用程序中的一些功能分离到一个独立的框架中。框架和应用程序都包含在一个工作区中。如何以与机器无关的方式将此框架包含在我的构建中?

我一直在做的是将框架添加到我的客户端应用程序的嵌入式二进制文件中,正如 SO 上的许多帖子所建议的那样。这很好用,直到您开始在另一台机器上工作,此时无法找到框架所在的随机生成的“DerivedData”目录,您必须重新创建链接。这将成为一个非常令人厌烦的过程。

我正在考虑为此目的使用 CocoaPods,但除非我读错了,否则你不能只用 podspec 引用本地项目;该项目需要驻留在已知的来源/仓库上。

所以基本上我想知道这里的人们是如何建立一个不链接到特定开发机器的目录结构的多项目构建过程。

最佳答案

所以我找到了一个有效的解决方案。问题是我的客户端应用程序项目引用了与项目本身相关的框架文件。

与我见过的一些解决方案相比,我引用(和嵌入)我的框架所采取的最少步骤要少得多。

  1. 在我的客户端应用程序的目标中(在“常规”选项卡上),将框架添加到“嵌入式库”部分。这还将向项目导航器添加对该框架的引用。
  2. 选择在第 1 步中添加到项目导航器的引用,并将其位置更改为“相对于内置产品”。 (可选)将框架移动到客户端应用项目的“Frameworks”文件夹,其余框架都位于该文件夹中。

第二步确保构建查找相对于构建产品的框架,而不是相对于其他东西,其位置可能因机器/源副本而异。

关于ios - 用于将框架链接和嵌入到工作区中的应用程序的 Xcode 构建过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35177711/

相关文章:

ios - 处理 Collection View Cell 中元素的手势事件

ios - Firebase 通过邮件邀请链接给出 404 错误

ios - 使用 xcodeproj 将框架添加到 "link to binary with libraries"

c# - Entity Framework 日期时间错误中的存储过程

python - django rest framework - 总是插入,从不更新

ios - PushViewController 之后 ViewController 不会显示在屏幕上,但它出现在 UI-Debugger 中

ios - 使用应用程序组将数据从 Watch 传递到 iPhone

ios - 在 Objective-C Typhoon 中使用依赖注入(inject)和 JSON 连接对象

iOS 自定义 UIViewController 错误

node.js - 使用 Node.js 制作网站,无需框架