4

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

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

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

  1. 打开并编辑该框架类的源文件,而无需在 Xcode 中打开框架项目。
  2. 在 DesktopAppNumberOne 上点击“构建”,首先看到框架重建(因为它的一个源已经改变),然后看到 DesktopAppNumberOne 的部分重建(因为它链接的框架之一已经改变)。

我可以看到如何仅使用一个应用程序和一个框架来执行此操作,但我无法弄清楚如何使用共享单个框架的多个应用程序来执行此操作。

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

4

1 回答 1

4

为您的框架制作一个 XCode 项目。

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

因此,创建一个应用程序项目,并从您的框架项目中拖入项目图标。

CMD-i 在您的应用目标上。在这里,您设置了对框架的依赖关系并链接到它。

几点

将多个应用程序链接到一个框架可能会带来压力。您将需要将您的框架安装到 /Library/Frameworks 或等效或捆绑到每个应用程序中。

出于开发目的,我发现为每个项目设置一个自定义的通用构建目录可以简化事情。我将每个项目设置为构建到/Code/Build/Debug中。这意味着调试构建的框架搜索路径可以是 $CONFIGURATION_BUILD_DIR。对于您的发布版本,您仍然需要处理安装路径、rpaths 等一些工作。痛苦!

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

于 2010-05-12T15:28:45.033 回答