Ste*_*nou 2 resources xcode cocoa bundle target
我有一个带有 Cocoa 应用程序目标和 shell 工具目标的 Xcode 项目。这些项目共享一个 Core Data 持久存储,因此我希望两个项目都使用相同的 *.mom 文件。
为了实现这一点并简化部署,我希望将终端应用程序放置在 Cocoa 应用程序包内,然后让两个可执行文件从包内访问相同的 *.mom 文件。
是否可以设置 Xcode 项目,以便将终端应用程序放置在 Cocoa 应用程序包中,然后让终端应用程序加载 Cocoa 应用程序的主包以获取此共享 *.mom 的路径?
你应该能够做你想做的。
使 Cocoa 应用程序目标依赖于终端应用程序目标:单击 Cocoa 目标,获取信息,常规选项卡,然后单击直接依赖项窗格下的“+”,然后选择终端目标。
向 Cocoa 目标添加“复制文件”构建阶段:右键单击目标,添加 -> 新建构建阶段 -> 新建复制文件构建阶段。您将获得一个信息窗口,您可以在其中选择副本的目的地;我推荐“资源”,这是默认的。
将终端应用程序构建产品(从项目导航窗格中的“Products”文件夹)拖到您刚刚创建的 Copy Files 构建阶段。这将导致终端应用程序在构建时被复制到 Cocoa 应用程序的资源文件夹中,默认情况下,该文件夹是 .mom 文件所在的位置。
在您的 Cocoa 代码中,您可以通过查询主包中的资源路径以及终端应用程序的名称和扩展名来找到终端应用程序的路径或 URL。您的终端应用程序需要找到启动它的目录才能在同一目录中找到 .mom 文件。
希望这是有帮助的。