我已经在Xcode中开发iOS应用程序几年了,但仍然不清楚创建同一项目的替代版本的最佳方法。请注意,我不是在说向应用商店发布不同的版本,而是在开发过程中测试不同的版本。过去,当我尝试在Finder中复制文件夹的简单方法时,Xcode似乎会感到困惑,在任何情况下,这都意味着重命名,以及随之而来的所有问题。快照已经被逐步淘汰,但快照就像使用单个数字叉一样,需要后退,而我想要的是并行工作。据我所见,创建一个新目标需要从另一个目标复制所有文件和资产,尽管从长远来看,这可能是最安全、最高效的。还是git fork是更好的解决方案?但我不知道如何从Xcode中做到这一点。
我不确定你对git有多熟悉,但就我个人而言,这就是我个人所做的。我用git标记我的master分支中的每个发布。这样,如果我想并行工作,我会执行以下步骤:
- 在Finder中创建新文件夹
- git克隆
- git结账<标记或分支或#commit>
- 在不分叉的情况下处理两个项目:)
我不在xcode中这样做,而是通过终端,因为xcode中的git选项只允许您修改当前项目。
我使用git分支。当前的开发版本始终是我的主分支,每次发布新版本时,我都会创建一个具有该版本号名称的分支。然后我可以很容易地在版本之间切换,例如:
git checkout v2.4
这样,如果我在一个旧版本中修复了一个需要提前到当前版本的错误,我可以将更改提交到旧分支,然后将其挑选到master中。
对于可能的新功能的开发或测试,我只需在master中创建临时分支,然后我就可以在临时分支中处理新功能,进行任何必要的更改,并在完成后将它们合并回master分支中(或者,如果新功能失败,只需废弃临时分支,就可以回到原来的位置)。
如何设置分支取决于你——重要的是要与之保持一致——找到一个适合你的策略,并在一个版本到下一个版本之间始终如一地使用它(尤其是如果你有多个开发人员)。这样,您就可以始终返回到应用程序的任何版本,并能够构建和调试它。