2012-09-07 54 views
8

我试图在我的应用程序包中使用XCode 4嵌入private framework(最后一段),并遵循Apple(看似)已过时的instructions如何将私有框架添加到目标依赖项?

就我而言,我是对每个目标使用单独的Xcode项目。这是最后一步:

在检查器窗口的常规选项卡中,添加您的框架作为应用程序的依赖项。添加这种依赖性会导致Xcode到 在构建应用程序目标之前构建框架目标。

您在应用程序目标中建立的构建依赖关系导致在应用程序之前构建框架。这非常重要,因为它可以确保您的框架的内置版本可用于链接并嵌入到应用程序中。由于这种依赖性,您可以将Xcode项目的活动目标设置为您的应用程序,并将其保留在那里。构建应用程序现在构建框架并将其复制到应用程序包目录中,从而在两者之间建立必要的联系。

然而,当点击中的+按钮时,目标依赖关系框架没有显示出来。我如何在Xcode 4中建立私有框架和应用程序目标之间的构建依赖关系?

编辑:我应该说明我已经得到了私人框架的工作。我只想避免在每次对框架进行更改时清理项目,并确保框架是在应用程序目标之前构建的。

+0

您是否有项目框架的目标?如果不是,你将不得不添加一个。目标依赖关系是针对目标的。您无法将单个框架作为目标依赖项。 –

+0

不,我没有目标(请参阅为链接中的每个目标使用单独的Xcode项目)。你是否在说文件描述不再可能? – hpique

+0

该文档从未说过你可以使框架成为目标依赖项。它说你可以制定一个框架目标依赖。您所引用的误导性部分在第一句中提到“将您的框架添加为依赖项”。如果它表示“将您的框架目标添加为依赖项”,则会更清楚。按照srinaidu的解答,将你的框架链接到应用程序项目。 –

回答

9

通过将私有框架项目添加为子项目,然后在目标依赖关系中添加框架目标来解决此问题。

但是,在我的情况下,框架目标没有显示为目标依赖项中的一个选项,直到我删除了DerivedData。那个令人讨厌的小虫子让我疯狂。

+0

我刚关闭了工作区并重新打开它,然后就可以将目标添加为依赖项。这里有一个很好的教程:http://pymatics.com/2011/12/23/tutorial-develop-a-private-framework-for-your-mac-app-using-xcode-4s-workspace-feature – GTAE86

+0

你需要两个。虽然Xcode最近自动解决了依赖关系,但对于浏览项目的其他人来说,了解应用程序依赖于其私有框架会很好。 –

1

在Xcode中选择您的项目,然后您可以在右侧找到项目和目标。然后选择Target并转到LinkBinary with Libraries,然后会出现一个窗口,左下角有一个选项Add another。

+0

这是前一步,没有它的框架将无法正常工作。我已经有了框架的工作。现在我想确保框架是在应用程序目标之前构建的。 – hpique

0

如果您要在不包括它作为子项目添加私人的框架,你必须添加一个复制文件任务是:

Copy Files task

+选择框架按钮并选择Frameworks目的地

您不需要在中添加任何内容目标依赖关系

而且这个工作,确保RUNPATH搜索路径值是生成设置标签@executable_path/Frameworks

相关问题