Xcode:如何将构建的产品从一个项目添加到另一个项目中?
问题描述:
假设我在Xcode 4工作区中有2个项目。项目A是最终产品,它需要从项目B构建的实用程序应用程序。目标是让A的构建过程在必要时自动构建项目B,然后将构建的应用程序复制到产品A的应用程序包的资源文件夹中。Xcode:如何将构建的产品从一个项目添加到另一个项目中?
Xcode 4的文档在这方面真的很缺乏。我尝试将内置的B.app添加到项目A中,使用将文件添加到“项目A”...命令。它没有复制应用程序包,但它不检查依赖关系。也就是说,它不会在更新时自动构建项目B.
任何指针找到正确的文档也非常感谢。
编辑:我期待实现这一doc提到的第2个好处,是:
一个项目都可以使用的产品的另一个项目的同时建设。
如果一个项目依赖于另一个在同一 工作空间的产品,Xcode中可以检测到这一点,并自动以正确的顺序构建项目 。
我知道将项目添加到另一个项目的普通旧项目方式作为子项目,所以我可以设置目标依赖项。但从工作区文档的措辞来看,似乎有一种更简单和自动的方式。但我无法找到执行这两个功能中的任何一个的步骤。
答
在项目A的目标屏幕的“构建阶段”选项卡中,将项目B添加为“目标依赖项”。 (当您单击顶级项目节点上,你得到的屏幕)
更新:
看来,如果第二个项目是的一个子项目,一个项目只能定义另一个项目作为依赖的输出第一:
如果您的工作空间具有以下结构,定义的依赖是不可能的:
感谢。但是,这就像在旧的项目方式,对不对?我认为这个新的工作空间有一个更好的方法。在我发现的唯一文档中(http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/NewProject/NewProject.html)它提到:“一个项目可以使用另一个项目的产品,同时建造。”和“如果一个项目依赖于另一个项目的产品在同一个工作区中,Xcode可以检测到这一点,并以正确的顺序自动构建项目。”后者显然不适合我的情况。 –
看来B必须是A的一个子项目,以便它的输出显示在A的依赖编辑器中。我用屏幕更新了我的原始答案。 –
感谢您的更新。我正在寻找新的“神奇”工作区方式。但似乎苹果只是吹这个热气。这与旧的项目方式完全相同。我没有看到使用新工作区的好处。 Xcode甚至混淆了这种古老的方式。它不会将产品B自动添加到复制资源阶段。我必须手动构建B并将B.app添加到A.即使这样,它仍然会将其混淆。我指定了发布的B被复制。但是当构建A进行调试时,它构建了一个调试B,并且因为它位于不同的构建目录中而无法找到B.app来进行复制。哦,我的... –