我有一个有两个不同版本的iOS应用程序,基本上一个是在App Store(在线版本)上发布的,另一个是在内部发布(离线版本)。
我正在寻找的是在GitHub上发布我的代码的最佳方式,以便将来可以轻松更新两个Xcode项目,因为这两个版本的代码只有一部分不同。
据我所知,分支被合并为'master',但在我的情况下,两个版本需要分开,只需要进行一些更改即可合并。
我曾尝试为我的GitHub存储库创建第二个分支,但我无法弄清楚这是否是保持两个项目一起更新的最简单方法,还是在GitHub上创建两个单独的存储库会更好? / p>
感谢您的反馈!
答案 0 :(得分:1)
有几种方法可以实现您想要的效果。对应用程序的不同版本使用多个repos或分支不是一个好选择。代码库可能会在时间上发生分歧并变得非常难以维护。
要解决此问题,我们更倾向于在XCode中使用单独的目标配置。
创建应用新版本的最简单方法:
现在,您可以从目标的配置窗格更改任何配置。
为了区分运行的应用程序版本,您可以在目标的构建设置中定义宏(例如FREE = 1),或者您可以在代码中检查当前标识符,应用程序名称等以设置当前版本
typedef enum {
QWEAppStore,
QWEAppStoreFree,
} QWEAppVersion;
#ifdef FREE
#define QWECurrentVersion QWEAppStoreFree
#else
#define QWECurrentVersion QWEAppStore
#endif
然后在你的课程中使用它,如:
- (IBAction)buttonTapped:(id)sender
{
if (QWECurrentVersion == QWEAppStore) {
// Do something
} else {
// Do something else
}
}
答案 1 :(得分:0)
拥有两个git repo将很难管理。
典型的工作流程是拥有3个分支
主 应用商店 内部
当您进行代码更改时,您需要将其推送到appStore和内部分支。
这是一个示例项目,在一个git repo中有许多不同的发行版本