OGeek|极客世界-中国程序员成长平台

标题: ios - GitHub:管理不同版本的应用程序的最佳方式是什么? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 11:11
标题: ios - GitHub:管理不同版本的应用程序的最佳方式是什么?

我有一个 iOS 应用,有两个不同的版本,基本上一个是在 App Store 上发布(在线版),另一个是内部分发(离线版)。

我正在寻找的是在 GitHub 上发布我的代码的最佳方式,以便我将来可以轻松地更新这两个 Xcode 项目,因为这两个版本只有一部分代码不同。

据我了解,分支被 merge 到“master”,但在我的情况下,两个版本都需要分开,只需要 merge 一些更改。

我尝试为我的 GitHub 存储库创建第二个分支,但我不知道这是让两个项目同时更新的最简单方法,还是在 GitHub 上创建两个单独的存储库更好?

感谢您的反馈!



Best Answer-推荐答案


有几种方法可以实现您想要的。为不同版本的应用程序使用多个存储库或分支不是一个好的选择。代码库可能会随着时间的推移而出现分歧,并且变得非常难以维护。

为了解决这个问题,我们更喜欢在 XCode 中使用单独的目标配置。

创建应用新版本的最简单方法:

现在您可以从目标的配置 Pane 更改任何配置。

为了区分运行的应用版本,您可以在目标的build设置中定义宏(例如 FREE=1),或者您可以在代码中检查当前标识符、应用名称等来设置当前版本。

typedef enum {
    QWEAppStore,
    QWEAppStoreFree,
} QWEAppVersion;

#ifdef FREE
    #define QWECurrentVersion QWEAppStoreFree
#else
    #define QWECurrentVersion QWEAppStore
#endif

然后在你的类中使用它:

- (IBAction)buttonTappedid)sender
{
    if (QWECurrentVersion == QWEAppStore) {
        // Do something
    } else {
        // Do something else
    }
}

关于ios - GitHub:管理不同版本的应用程序的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16713336/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4