将项目分成多个Xcode项目文件

4

我一直在开发的iPad项目因为文件数量过多而变得臃肿。该应用程序是一个原型,我们正在考虑重写它时如何避免这种情况。

我们团队中的一名成员建议将所有组件分成单独的Xcode项目,并将其包含在主Xcode项目中。

这是个好主意吗?如果有的话,避免将功能/组件/控件分成单独的Xcode项目的原因是什么?

5个回答

2
您可以在Xcode中将子项目文件添加到主项目文件中。只需选择“添加文件”并添加即可。当Xcode构建主文件时,如果需要,它也会构建子文件。
我使用类似的系统。我经常将一个项目分成子项目,以便我可以专注于和强制封装。我先编写数据模型,然后添加应用程序委托,再添加特定的UI元素。我逐个将每个项目添加到下一个项目中。这也使我能够回头更改事物而不太容易出错。
实际上,一个正确设计的objective-c应用程序应该很容易分解成多个项目。理想情况下,所有组件都被封装得非常好,除了数据模型,它们不需要任何其他组件。

这是怎么回事?我尝试将另一个Xcode项目添加到主Xcode项目中,但编译时其他项目中的文件都找不到了。 - titaniumdecoy
通过引用而不是复制的方式添加外部项目文档。项目源文件的路径相对于项目文档本身的位置。如果您在项目目录之外使用项目文件的副本,Xcode将无法找到这些文件。 - TechZen

2
我们将一些代码放在自己的项目中,构建了一个框架,我们在其他一些项目中链接该框架。有时你无法立即在另一个项目中看到框架代码的实现文件(通过cmd+点击或cmd+shift+D等通常用于导航的方式)。Xcode只会显示头文件,你必须手动打开其他项目并找到你的文件。这不是什么大问题,但如果你经常查找代码,它会让你感到烦恼。
真正的问题是你改变了某些操作的范围。像“在项目中查找”之类的东西将在不同的文件集上工作,有时可能不是你想要的(尝试在你的整个代码中查找调用此方法/使用此键的位置之类的内容);好吧,还有Finder/find,所以可能没关系。重构不行 - 所有重命名的东西都会崩溃,因为它只会更改当前项目的代码,而不是引用此项目的项目的代码。如果你经常更改接口,请避免拆分项目。
好处是你的.xcodeproj文件会有较少的冲突(如果存储在共享仓库中),因为从项目X中删除文件的人不会与在项目Y上添加目标的人产生冲突,而这两个项目之前曾经是相同的.xcodeproj文件(不确定这是否是冲突的情况,但肯定有一些情况)。

1
要查看和修改子项目实现文件,您应该直接将子项目添加到主项目中。
步骤1 - 拖放 .xcode 项目文件到主项目中。
步骤2 - 转到主项目TARGETS-> Build Phases。在Target Dependencies中添加子项目目标。您还可以在Link Binary With Libraries中添加二进制文件。
步骤3 - 将子项目源路径添加到主项目头文件搜索路径中。 转到主项目-> Build Settings-> Header Search Paths(例如 $(SRCROOT)/../CoconutKit-master/CoconutKit/Sources)

1
现在使用Xcode4,您可以创建一个工作区并将所有项目添加到其中。仅供文档目的 :)

您可以从工作区运行项目。也许您在说“仅用于文档目的”时是指文档项目(可以添加到工作区)。 - titaniumdecoy

0

Xcode 项目可以包含任意数量的构建目标,您可以将源文件任意分组到文件夹中。您认为需要多个项目的原因是什么?


也许他不喜欢看到所有的文件夹和文件? - ABCD
这个想法是强制组件之间的分离。 - titaniumdecoy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接