如何使用工作空间将私有Objective-C框架嵌入到Xcode 6上的iOS应用程序中

我写了一个小的私有框架,我想在几个iOS应用程序之间共享。

这是我设想的工作流程:

  1. 从源代码管理中提取SimpleApp。
  2. 从源代码管理中提取BobFramework。
  3. 不知何故使用Xcode将BobFramework嵌入到SimpleApp中。
  4. 建立项目。
  5. 完成!

问题是如何完成“使用Xcode嵌入”步骤?

我找不到如何执行此操作的分步说明。 Apple的文档是一个过时的谎言。

我发现的所有Stack Overflow问题都假设读者知道整个过程,我无法收集足够的上下文线索来填写隐含的步骤。 事实上,我想说很多问题都源于Apple没有现代出版的程序,因此很多人都遵循隐含或猜测的步骤。

我发现的最直接,最简单,最完整和最新的步骤主要适用于Swift。 Swift的程序是明智的,我希望我使用它,但我使用的是Objective-C。

我已经尝试了几个基于我猜测程序的实验,但是正确的程序可能有很多可能性,我不认为发布我的具体问题之一是正确的方法。 毕竟,我所做的一切导致我的问题可能是不正确的。

我花了一段时间来解决这个问题,但我做到了。 我在博客上发布了一个更详细的答案,有几个屏幕截图。

现在为Stack Overflow压缩该答案。 我将通过示例食谱解释。

初始点:

  • 工作区名为SandBox2,项目名为Pen1。
  • BobLib是自己项目中框架的名称。
    • 由File |创建 新的| 项目,iOS | 框架和图书馆| Cocoa Touch Framework。
    • 在单独的项目中模拟我的特定情况。 如果你有机会,你可能应该从框架开始已经是工作区的一部分。
    • 头文件Newhart.h包含doThatThing方法声明。

目标: Pen1中的ViewController在Newhart类的实例上调用doThatThing

脚步:

  1. 在BobLib.h中导入Newhart.h #import
  2. 指定Newhart.h为公共
    1. 在Project Navigator中选择Newhart.h。
    2. 在公用事业区| 文件检查器| 目标会员将“项目”更改为“公共”。
  3. 为模拟器和设备构建BobLib。
  4. 按住Control键并单击BobLib.framework,然后选择在Finder中显示。
  5. 在Xcode中打开Sandbox2。
  6. 将BobLib.framework从Finder窗口拖到Pen1。
  7. 项目| 目标| 一般| 嵌入式二进制文件,添加BobLib.framework。
  8. BobLib.framework应该已经在Project |中 目标| 一般| 链接的框架和库。
  9. 运行并测试应用程序。 它应该能够在Newhart实例中调用doThatThing
  10. 这仅适用于iOS 8或更高版本。