Cocoa框架开发:项目之间的共享

时间:2010-05-12 02:05:52

标签: cocoa xcode frameworks code-sharing

我目前正在开发一些类似的Cocoa桌面应用程序。为了在它们之间共享代码,我已经确定了一组核心类和函数,这些类和函数可以在所有这些应用程序中共用。我想将这个通用代码捆绑到一个框架中,我所有当前的应用程序(以及任何未来的应用程序)都可以链接到这个框架。

现在,这是困难的部分:我将继续开发这个框架,所以我需要每个桌面应用程序都有它的引用,但我希望能够编辑框架源代码从每个应用程序项目中,并根据需要自动重建框架。

例如,假设我打开了DesktopAppNumberOne的Xcode项目,并且我决定需要更改其中一个框架类。我想:

  1. 打开并编辑该框架类的源文件,而无需在Xcode中打开框架项目。
  2. 点击DesktopAppNumberOne上的“build”,看看框架首先重建(因为其中一个源已更改),然后查看重建的DesktopAppNumberOne部分(因为它链接的框架之一已经更改)。
  3. 我可以看到如何只使用一个应用程序和一个框架来完成此操作,但我无法确定如何使用共享单个框架的多个应用程序来完成此任务。

    有没有人用这种方法取得成功?我可能会以错误的方式解决这个问题吗?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:4)

为您的框架制作XCode项目。

在'群组&文件面板>查看左上角的蓝色项目图标?将其拖放到“群组和群组”中您喜欢的任何其他项目的文件面板。

因此,制作一个应用项目,并从框架项目中拖动项目图标。

您的应用目标上的CMD-i 。在这里,您可以设置对框架的依赖性,并对其进行链接。

几点

将多个应用程序链接到一个框架可能会非常紧张。您需要将框架安装到/ Library / Frameworks或同等版本中,或者捆绑到每个应用程序中。

出于开发目的,我发现为每个项目设置一个自定义的公共构建目录可以简化事情。我将每个项目设置为 / Code / Build / Debug 。这意味着调试版本的框架搜索路径可以是$ CONFIGURATION_BUILD_DIR。对于你的发布版本,你仍然会有一些安装路径,路径等的工作。屁股的痛苦!

XConfig文件是你的朋友。开源谷歌mac工具箱的东西是如何使用它们的一个很好的例子。您可能至少需要 Project_debug.xconfig Project_release.xconfig Target_framework.xconfig Target_application.xconfig