如何将私有框架添加到目标依赖项?

时间:2012-09-07 16:27:30

标签: xcode macos xcode4 frameworks build

我正在尝试使用XCode 4在我的应用程序包中嵌入private framework(最后一段)并遵循Apple(看似)过时的instructions

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

  

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

     

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

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

编辑:我应该澄清一下,我已经让私有框架工作了。我只是想避免每次更改框架时都清理项目,并确保框架是在应用程序目标之前构建的。

4 个答案:

答案 0 :(得分:10)

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

但是,在我的情况下,在删除DerivedData之前,框架目标在 Target Dependencies 中没有显示为选项。那个讨厌的小虫子让我疯狂。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果您想要添加私有框架而不将其作为子项目包含,则必须为其添加复制文件任务:

Copy Files task

使用 + 按钮选择您的框架,然后为目的地选择Frameworks

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

此操作也是如此,请确保构建设置标签中的运行路径搜索路径值为@executable_path/Frameworks

答案 3 :(得分:0)

您首先需要将另一个项目的.xcodeproj作为子项目添加到该项目:

  1. 右键单击Frameworks组(或其他任何地方)
  2. 选择Add Files to "<Project>..."
  3. 选择另一个项目的.xcodeproj
  4. 该其他项目的目标现在将显示在Target Dependencies菜单中