gpt4 book ai didi

ios - GitHub:管理应用程序不同版本的最佳方式是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:42:59 24 4
gpt4 key购买 nike

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

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

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

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

感谢您的反馈!

最佳答案

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

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

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

  • 复制当前目标
  • 将其重命名为“XXX in-house”而不是“XXX copy”(可选)
  • 将包标识符更改为与原始目标不同
  • 将“XXX copy-Info.plist”文件重命名为更好的名称,并从目标的build设置中更改 Info.plist 引用(可选)

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

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

typedef enum {
QWEAppStore,
QWEAppStoreFree,
} QWEAppVersion;

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

然后在您的类(class)中使用它,例如:

- (IBAction)buttonTapped:(id)sender
{
if (QWECurrentVersion == QWEAppStore) {
// Do something
} else {
// Do something else
}
}

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com