Xcode不会将IB插件构建到资源文件夹中

时间:2009-05-18 16:27:18

标签: objective-c xcode interface-builder

我使用IB3插件模板为它创建了一个自定义控件和一个框架/ IB插件。

根据文档,插件应该构建在框架的资源目录中。当我构建我的项目时,插件与配置文件一起位于配置文件夹(Debug)中。

创建新模板时,这与开箱即用的行为相同。我尝试将CONFIGURATION_BUILD_DIR更改为$(BUILD_DIR)/$(CONFIGURATION)/FrameworkName.framework/Resources/,但没有变更。

对于笑容我也试过搞乱安装路径,但也无处可去。我已经检查了一些其他开源项目来检查他们的构建设置,但它们与我自己的相同,但是他们的插件已经构建并按预期放入资源目录。

3 个答案:

答案 0 :(得分:1)

不要乱用构建设置。而是将“复制文件”构建阶段添加到框架目标。在复制文件构建阶段的检查器中,将目录设置为“Resources”。通过从Xcode的“Groups& Files”树中的“Products”组中拖动插件产品,将插件添加到此构建阶段。

答案 1 :(得分:0)

谢谢,巴里。当我尝试使用复制文件构建阶段时,IB无法解析框架和插件之间的连接。由于某种原因,它找不到相关的插件。

然而,经过无休止的摆弄,我发现我比我想象的更近。将CONFIGURATION_BUILD_DIR更改为:

$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/FrameworkName.framework/Resources/ 

并更新框架搜索路径为我解决了问题。这不是插件模板的行为(至少在我的机器上)开箱即用,所以希望这会帮助其他人。

答案 2 :(得分:0)

要将一个Xcode目标的构建产品包含在另一个Xcode目标产品的资源目录中,您应该在组和文件树中找到该产品,并将产品拖到该产品的“捆绑资源阶段”中。其他目标。您还应该使用目标的获取信息面板在两个目标之间添加目标依赖关系。

如果您在构建产品目录中看到构建的插件,并不意味着它也没有复制到框架的资源目录中。 Xcode将所有目标构建到构建目录中,然后将它们复制(而不是移动)到它们的最终目标 - 在这种情况下是框架的资源目录。其中一个原因是产品可能有多个最终目的地。