mar*_*ark 35 xcode project code-organization
我不明白使用Xcode工作区来组织彼此依赖的项目.例如,我看到很多开发人员创建的工作空间结构如下所示:
Workspace |-- App |-- A Common Library |-- Another Common Library
这提供了什么好处?如果有人直接打开"App"项目他们是不是无法实际构建应用程序?他们必须意识到工作空间存在必要的依赖关系.
在我看来,更好的方法是使用这样的嵌套项目:
App |-- Libraries | |-- A Common Library | |-- Another Common Library
然后,不存在无法构建的项目.它似乎更符合Git关于子模块的想法.
我在工作空间中看到的唯一用途是将常见项目分组,彼此之间没有依赖关系.我想听听别人对此的看法,因为我可能会遗漏一些东西.
Mr.*_*rna 19
当我想要组合项目同时保持项目独立性时,我使用工作区.
我使用工作空间的一个示例是一系列教程项目,从非常简单到复杂.每个项目都可以作为独立项目运行,但在工作区中将它们组合在一起有助于我整个项目的组织.
在另一个例子中,我有一个为客户开发的应用程序.该应用程序既可作为独立应用程序,也可作为整个项目中的模块.独立项目可以构建独立应用程序.另一个应用程序使用包含两个项目的工作区.应用程序的模块版本是根据特殊方案构建的,如果不使用工作区,则不会构建此组合应用程序.
上述两种情况的一个转折点是存储构建文件夹的位置.我必须更改Xcode首选项以将构建产品放入教程项目组的唯一文件夹中,在其他应用程序设置中使用模块的公共构建文件夹.
在其他情况下,我有很多嵌入式项目的项目.在这些情况下,图书馆项目是稳定的.我不会尝试进一步开发库项目,因此它们只是项目的另一个资源.我发现在我的项目资源的文件系统组织有点反映我的Xcode项目的组织的地方工作更容易.因此,这些库项目将复制到主项目的文件层次结构中.如果我正在开发库并在多个项目中使用它们,那么使用工作空间是有意义的.为方便起见,我经常不打扰.
有时我甚至将工作空间与包含嵌入式项目的项目相结合
所以我的观点是,组织工具,嵌入式项目和工作空间都有其优点和问题.我根据具体情况选择使用其中一种(或组合).