Xcode 中的 Workspace、Project、Target 和 Scheme

2020-10-26 10:20:11 浏览数 (1)

这是一系列 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

参考链接: https://developer.apple.com/library/content/featuredarticles/XcodeConcepts/Concept-Targets.html#//apple_ref/doc/uid/TP40009328-CH4-SW1

0 人点赞