我想制作付费应用和免费版本的应用。我想要构造一些东西,以便我可以尽可能少地修改一个版本或另一个版本。就源代码而言,这很容易通过在某个地方使用BOOL常量isFreeVersion来实现,并根据需要引用它。从单个Xcode项目中有效构建Iphone应用程序的两个版本?
但是我应该如何设置其他所有东西?显然,应用程序ID将不得不改变,这将需要改变XCode中的一些构建设置。保持最低限度的最佳方式是什么?
我想制作付费应用和免费版本的应用。我想要构造一些东西,以便我可以尽可能少地修改一个版本或另一个版本。就源代码而言,这很容易通过在某个地方使用BOOL常量isFreeVersion来实现,并根据需要引用它。从单个Xcode项目中有效构建Iphone应用程序的两个版本?
但是我应该如何设置其他所有东西?显然,应用程序ID将不得不改变,这将需要改变XCode中的一些构建设置。保持最低限度的最佳方式是什么?
就版本控制而言,I 不建议使用using branches,除非构建两个版本的影响意味着两组数据源之间的重要代码更改。
如果你只能有一组源(与你的BOOL
常数),这意味着其余的必须通过建立脚本来管理,这将:
您可以使用预处理器标志(在您的Xcode构建设置中)在两者之间切换。该标志可以使用简单的预处理器指令(例如#if IS_FREE_VERSION ... #endif)以类似于if语句的方式在源代码中使用。这将帮助您避免构建脚本。
这种方法的缺点是,默认情况下,每次构建时,最后的构建产品都会被覆盖。
这似乎是这个问题的重复:http://stackoverflow.com/questions/549462/how-do-i-manage-building-a-lite-vs-paid-version-of-an-iphone -app – 2010-03-10 15:49:18