xcode - 一个项目,两个版本? (沙盒和非沙盒版本)?有什么简单的方法来维护代码吗?

标签 xcode cocoa repository sandbox

我开发了一个cocoa项目,现在它有两个版本,沙盒版本和非沙盒版本。

沙盒版本和非沙盒版本之间存在一些差异,但大多数是相同的。 IE。对于沙盒版本,我对某些目录的访问权限将受到限制,并且为了访问某些目录(例如桌面),我必须添加权限。对于非沙盒版本,我对目录没有限制,我也可以添加“检查更新”又名 Sparkle 框架等。

两者仍处于测试模式(即尚未提交到 mac 应用商店),现在,我如何将它们分开,我有非沙盒版本的主分支,以及沙盒版本的新分支版本。

但是更新代码是一件很痛苦的事情。一旦我为非沙盒版本实现了一些功能,我必须提交更改,然后将更改合并回沙盒分支。问题是,我不能只是将所有更改合并到沙盒版本,我必须小心,只合并我所做的功能更改。

对于那些同时为沙盒和非沙盒开发应用程序的人来说,您如何处理这种情况。有没有简单的方法来维护代码?

最佳答案

我认为一个好的方法是使用定义(例如 SANDBOX)并创建两个目标,一个用于沙箱版本,其中包括权利文件和 SANDBOX 定义,另一个目标没有权利文件和 SANDBOX 定义。

在程序必须表现不同的类、函数中,您可以使用此定义 (SANDBOX) 轻松分离沙盒版本和非沙盒版本的代码。

关于xcode - 一个项目,两个版本? (沙盒和非沙盒版本)?有什么简单的方法来维护代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15682384/

相关文章:

iphone - 如果 Xcode 显示警告,应用程序是否会被 App Store 拒绝?

iphone - 配置文件问题,我无法在设备上运行我的应用程序

cocoa - IBPlugin 和框架路径

c# - Git 存储库中不应包含哪些内容?

ios - Today Extensions 的 "Waiting to attach"问题

ios - 如何在 Xcode 中正确使用 Git?

objective-c - 该对象是否符合 KVC 标准?

swift - 如何查询 Finder NSURL?

xml - XML 引用测试数据的免费公共(public)存储库

php - 将 Laravel 存储库与数据表一起使用