基于现有项目创建新项目(项目重用)

时间:2010-12-08 16:38:39

标签: iphone xcode project reusability

我有一个项目A.这产生了一个正在运行并已经提交给应用商店等的产品。现在,我想创建一个新项目,让我们称之为项目B,我希望B基于答:显然,B将在A之上添加更多UI和行为。

在做了一些研究后,唯一的选择似乎是使用跨项目引用,因为我想在项目B中重用项目A的XIB,图像等。我认为交叉项目引用应该在那个场景?

嗯我在让这件事发挥作用方面遇到了一些严重的问题。我想实现项目级重用。在Java或.NET中,这甚至不是一个考虑因素,技术允许这样做。因为iPhone不支持框架,我认为开发人员被推向更原始的方法,如代码重复。

那么,我该如何解决这个问题呢。如何根据项目A(包括XIB,图像等)创建项目B?

谢谢,

4 个答案:

答案 0 :(得分:1)

如果A和B非常相似,或许你可以考虑简单地创建一个新的构建目标;这将为您提供具有目标A和目标B的单个项目。两个目标都可以访问项目中的任何资源。

如果您有相当多的共享代码,那么您可以创建一个静态库; iOS不支持动态链接到用户生成的库,但它支持静态链接。这将使跨项目依赖项变得有用,因为您可以从项目A获得项目B引用库A并将其构建为依赖项。

答案 1 :(得分:0)

我曾经做过同样的事情:

我复制并粘贴了整个应用程序,然后有两个单独的应用程序,我可以单独处理。

答案 2 :(得分:0)

与流行的观点相反,有可能create iOS frameworks.

答案 3 :(得分:0)

也许您可以使用像Git或Piston(http://piston.rubyforge.org)这样的scm工具并“克隆”代码。做类似的事情:

#add original project to git
cd /your/base/project/code
git init
git add . #Stages all files to check-in index
git commit -m 'Your commit message here'

然后

#clone the original project into a new one
cd /your/new/project/directory
git clone /your/base/project/code
git checkout -b aNewWorkingBranchName #create a new working branch to modify
#modify code to your <3's content, use git pull/push/merge/rebase/diff as required to track/update original project

这可以让您独立开发“新”项目,同时允许您在需要时进行更改。 Piston允许“供应商”分支Git或Subversion存储库,将新代码绑定到特定的远程修订版。看看它的文档。