XCode:同一捆绑中的多个目标

时间:2011-01-19 13:04:41

标签: cocoa xcode resources bundle targets

我有一个带有Cocoa应用程序目标和shell工具目标的XCode项目。这些项目共享一个Core Data持久性存储,因此我希望两个项目都使用相同的* .mom文件。

为了允许这种情况并简化部署,我希望终端应用程序放在Cocoa应用程序包中,然后让两个可执行文件从bundle中访问相同的* .mom文件。

是否可以设置XCode项目,以便将终端应用程序放置在Cocoa应用程序包中,然后让终端应用程序加载Cocoa应用程序的主要包以获取此共享* .mom的路径?

1 个答案:

答案 0 :(得分:4)

你应该能够做你想做的事。

1)使Cocoa应用程序目标依赖于终端应用程序目标:单击Cocoa目标,获取信息,常规选项卡,然后单击直接依赖关系窗格下的“+”,并选择终端目标。

2)将“Copy Files”构建阶段添加到Cocoa目标:右键单击目标,Add - >新建阶段 - >新的复制文件构建阶段。您将获得一个信息窗口,您可以在其中选择副本的目的地;我推荐“资源”,默认。

3)将终端应用程序构建产品(从项目导航窗格中的“Products”文件夹)拖到刚刚创建的“复制文件”构建阶段。这将导致终端应用程序被复制到Cocoa应用程序的资源文件夹中,默认情况下,这是.mom文件在构建时存在的位置。

4)在您的Cocoa代码中,您可以通过查询主包以找到具有终端应用程序名称和扩展名的资源路径,从而找到终端应用程序的路径或URL。您的终端应用程序需要发现它的启动目录,以便在同一目录中找到.mom文件。

希望这有用。