Xcode的4.0.1使我们能够更容易地创建和使用在iOS项目的第三方库。但是我觉得这个过程仍然是很复杂的,它需要说明。 Xcode的文件表明,它会自动检测隐式依赖关系和工作区之间的指数类,但我还没有发现这是此案。在这里,我将介绍我发现项目之间以及与其他开发人员的代码,用于创建和共享的步骤。
- 背景
- 如何静态库
- 创建一个静态库
- 未来的改进
背景
工作区:
Xcode的4引入了多个项目的容器的工作区的概念。有许多组合选择如何共享整个项目的代码时我们所要建设的工作区,其中的关键行为。
默认情况下,一个工作区中的所有Xcode项目建在同一目录中,统称为工作区建立目录。
Xcode的构建目录中的文件检查,发现隐式依赖。
在工作区中的每个项目,继续拥有自己独立的身份。
工作区:
Xcode的4引入了多个项目的容器的工作区的概念。有许多组合选择如何共享整个项目的代码时我们所要建设的工作区,其中的关键行为。
默认情况下,一个工作区中的所有Xcode项目建在同一目录中,统称为工作区建立目录。
Xcode的构建目录中的文件检查,发现隐式依赖。
在工作区中的每个项目,继续拥有自己独立的身份。
计划:
在工作区,或在一个项目中,这是我们有计划的工作区的成员。计划取代的活动目标,构建的Xcode3的配置,并可执行设置和定义目标,以建立,建立的顺序,以及采取何种行动时构建完成。我们想要我们的共享代码轻松地安装到使用它的任何项目的计划。在Xcode4过渡指南涵盖这更详细的新结构。
在工作区,或在一个项目中,这是我们有计划的工作区的成员。计划取代的活动目标,构建的Xcode3的配置,并可执行设置和定义目标,以建立,建立的顺序,以及采取何种行动时构建完成。我们想要我们的共享代码轻松地安装到使用它的任何项目的计划。在Xcode4过渡指南涵盖这更详细的新结构。
添加一个新的项目工作区
我们要结束与一个单一的包含任何静态库,我们都将依赖于我们的应用程序的项目和项目的工作区。值得注意的是,这些项目都是在工作区中的所有兄弟姐妹,我们的静态库没有增加一条,作为我们的应用程序的项目中的引用。
新增建设目标的依赖关系
所有的项目,我们需要在我们的工作区,我们可以选择我们的应用程序的构建目标,并添加一个静态库“链接的二进制库”建设阶段。
添加“与库的链接二进制库和框架”构建阶段
静态库添加到“链接二进制使用库”建设阶段
“force_load”,以及可能需要。参见技术问答QA1490这些设置的更详细的解释。
设置该计划的目标构建顺序
固定索引
在这一点上,我们应该可以包括从依赖静态库的头,使用类,仍然成功地构建我们的应用程序。不幸的Xcode将不显示尽管工作区的文件指出,从这些链接的静态库在代码完成的任何类“索引是在整个工作区,延长了内容感知的功能,如代码完成和重构范围。”
作为一种变通方法,我们可以从静态库的项目拖动到我们的应用程序的项目的公共头,增加他们作为参考。这些头文件不需要被包括在我们的建设目标,只需在我们的项目的头,将允许他们班出现在代码完成。