如何为不同版本的应用程序轻松显示/隐藏iOS应用程序的某些部分

时间:2011-12-21 13:15:06

标签: ios xcode preprocessor xcode4.2

我有一个客户端应用程序,由另一家公司(由客户支付)通过TestFlight进行外部测试。之后,应用程序进入商店。因此,许多人都知道质量保证不仅发生一次。在应用程序为商店做好准备之前,通常会有3-4种方法。

在测试公司正在测试时,我必须向我的客户展示最新版本的应用程序。

所以我需要找到一种简单的方法来在应用程序中显示不同部分的不同部分。否则,每次我必须为QA构建一个新的testVersion时,我必须手动隐藏新版本的部分。

因此我不想每次都重复自己,也许有更好的方法。

我试图深入了解“预处理器”Thing但却没有找到任何有用的东西。

我的想法是#define一个应用程序版本,但由于我从未使用过预处理器,所以我很难说。

希望你们能帮助我。 谢谢和干杯史蒂文

编辑: 我使用SVN作为我的项目,但遗憾的是我不能“冻结”QA版本因此我必须在更新我的应用程序的最新版本时进行与QA相关的更改。

3 个答案:

答案 0 :(得分:2)

1)快速回复 - 您可以使用预处理器语句来执行此操作:

如果您已定义类似

的应用版本
#define APP_VERSION 5

您可以执行

之类的陈述
#ifdef APP_VERSION
  // Only if APP_VERSION exists
#endif

#if APP_VERSION > 4
  // Only for version 4 and above
#endif

2)更好的回答

使用版本控制 - 看一下git(和github.com)

您可以为要提交给商店的代码使用一个分支,为该应用的较新版本使用另一个分支。

答案 1 :(得分:1)

您想要做的是版本控制的基本功能 - 您正在开发另一个版本(显示您的客户端)时冻结了一个版本的程序(发送到QA)。这被称为“分支”,几乎每个品牌的版本控制都能很好地处理它(我正在看着你的VSS!)

XCode直接支持两个版本的版本控制GitSubversion。两个人都会做你想要的工作,但他们是完全不同的野兽。颠覆是旧的战马,而Git是新的闪亮。

我建议你阅读XCode 4 Users Guide: Managing Versions of Your Project

但如果您想要更加基本的版本控制介绍,我刚刚找到了A visual guide to version control

答案 2 :(得分:1)

当您使用SVN时,通常只需在向QA发货时创建标签。正如您所说,您无法做到这一点,您通常会为当前的开发版本创建一个分支。在那个分支工作永远是最新的努力。当您发布到QA时,您将这些更改合并到HEAD中。现在,当您对HEAD进行更改时,当您再次将它们合并到HEAD时,它们将自动组合回当前的开发内容。

PS:使用git,这比使用SVN要容易得多