【发布时间】:2009-09-01 21:11:08
【问题描述】:
我有一个 iPhone 应用程序,我正在使用该应用程序的一些功能并创建一个新应用程序。
从一个通用代码库构建两个应用程序的适当方法是什么?
【问题讨论】:
标签: iphone objective-c cocoa-touch
我有一个 iPhone 应用程序,我正在使用该应用程序的一些功能并创建一个新应用程序。
从一个通用代码库构建两个应用程序的适当方法是什么?
【问题讨论】:
标签: iphone objective-c cocoa-touch
还有一个似乎没人提到的选项 - 您可以在原始项目文件中创建一个新目标。我为同一个应用的“免费”和“付费”版本执行此操作,但它对于共享大部分相同代码的任何两个应用都很有用。
【讨论】:
这是我从 Xcode 专家那里得到的:
Xcode 有两种可供选择的方式来做正确的事情:
1) 对于项目所需的项目树之外的文件,请设置源代码树。 Xcode > Preferences > Source Trees,使用磁盘上的实际路径定义符号路径(例如 EXTRA_SOURCES)到它们被检出的位置。然后,当您将这些文件添加到您的项目时,将它们相对于源树添加到该源树。
(注意,在 Prefs 中定义源代码树后退出并重新启动 Xcode。)
2) 在 Xcode 3.2 中,定义项目根目录以包含源代码树。项目 > 编辑项目设置 > 常规选项卡,“配置根和 SCM”按钮。将源代码树添加到 Project Roots 并设置其存储库,该存储库可以是与主项目文件分开的存储库。
就是这样。您有一个文件树,来自一个存储库,但许多项目可以共享它,如果您在一个项目中对源执行 SCM 操作,它会反映在其他项目中。
【讨论】:
理想情况下,您可以使用通用代码创建一个动态链接的共享库(或苹果用语中的“framework”),但the iPhone platform does not support this。除了这里已经建议的方法之外,您还可以链接到您自己的静态库。
【讨论】:
将通用代码保存在通用存储库中。然后,您可以轻松地在任意数量的项目中使用它。
【讨论】: