我正在开发一个 iOS 应用程序。现在它是一个应用程序和两个目标(应用程序和测试)。
接近发布我想把这个应用程序分成三个应用程序,其中包含大量共享代码和共享测试。(想想 App Store 的免费版和完整版以及不会发布的原型应用程序)。
您会在 Xcode 中设置多个项目(1 个库项目和 3 个应用程序项目)还是将所有项目都放在一个项目中并且只设置多个目标?
我认为您在这里至少有3个选择:
单独的项目。跨项目共享代码更加困难,但是使用 Xcode 工作区,这是非常可行的。如果您对每个项目都有很多自定义,那么这可能是有道理的。
同一个项目,更多目标。这是通常的做法。这很容易,因为您对哪些文件进入哪个目标有一个非常清晰的概述。如果你有十几个左右的目标,那真的很容易处理。
分开 git 分支。我过去曾与此合作过。应用程序之间的差异(Info.plist、配置文件、数据文件)只是在相应的 git 分支中交换。如果您有大量数据并且不需要随时提供所有数据,这很实用。但是,如果您不熟悉 git,它的复杂性是相当大的。您可以创建 git 子模块以一次性更改共享代码部分。
我建议您采用混合方法,具体取决于您的需求
如果您需要多个应用程序 - create Target
,这正是它们的用途。您可以使用[关于]处理共享文件Target Membership
如果您有可以分成模块的源代码 -Project
在Workspace
. CocoaPods 使用此技术