这是一系列 Xcode Tips 的第一篇。欢迎转载。
本文只涉及入门知识。更多相关知识可以阅读《从 5 分钟到 30 秒,如何优化 clang 工程的增量编译耗时》的第二部分。(点击左下角的阅读原文)
- Project
- Project 可以产出一个APP,或者一个静态库、动态库等等
- 大部分的应用的初始阶段都是通过单一 Project 进行开发。
- 即使是 LLVM 这种超大型项目,也可以通过 Project 组织源码
- Workspace
- 一个 Workspace可以包括多个 Project
- 通过 Workspace,可以将多个不同位置的 Project 进行组合
- 实现了多个具有依赖项目间的源码隔离
- 大部分
复杂(具有外部依赖)的 APP 都是通过 Workspace 进行项目管理。
- Target
Target常见的用法是同一个APP构建不同的版本,比如,内测版本、公测版本、企业版本、上线版本。另外,
Today
扩展等也是使用 Target 来管理的。
- Scheme
- Scheme 是同一个 Target 的不同构建规划。
- 比如,用于开发的
Run
,用于单元测试的Test
,用于打包的Archive
- 比如,用于开发的
- Scheme 是同一个 Target 的不同构建规划。
参考链接: https://developer.apple.com/library/content/featuredarticles/XcodeConcepts/Concept-Targets.html#//apple_ref/doc/uid/TP40009328-CH4-SW1