我开发了一个cocoa项目,现在它有两个版本,包括沙盒和非沙盒版本。
沙盒和非沙盒版本之间存在一些差异,但大部分都是相同的。即。对于沙盒版本,我将限制访问某些目录,并且为了访问某些目录,如桌面,我将不得不添加权利。对于非沙盒版本,我对目录没有限制,我也可以添加“check for update”又名sparkle framework等。
两者仍然处于测试模式(即尚未提交到mac app store),现在,我如何将它们分开,我有非沙盒版本的主分支,以及沙盒的新分支版本
然而更新代码是一个痛苦的屁股。一旦我为非沙盒版本实现了一些功能,我就不得不提交更改,然后将更改合并回沙盒分支。问题是,我不能只将所有更改合并到沙盒版本中,我必须小心,只合并我所做的功能更改。
因此,对于那些为沙盒和非沙盒开发应用程序的人,您如何应对这种情况。有没有简单的方法来维护代码?
答案 0 :(得分:2)
我认为一个好的方法是使用一个define(例如SANDBOX)并为沙箱版本创建两个目标,其中包括权利文件和SANDBOX定义,以及一个没有权利文件且没有SANDBOX定义的目标。
在类中,程序必须表现不同的函数,您可以使用此定义(SANDBOX)轻松分离沙盒和非沙盒版本的代码。