【问题标题】:How to add Private Framework to Target Dependencies?如何将私有框架添加到目标依赖项?
【发布时间】:2012-09-01 13:37:39
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

  • 你对项目中的框架有目标吗?如果没有,您将不得不添加一个。目标依赖项是针对目标的。您不能将单个框架作为目标依赖项。
  • 不,我没有目标(请参阅链接中的为每个目标使用单独的 Xcode 项目)。您是说不再可能按照文档中的描述进行操作吗?
  • 是的,将框架目标添加为依赖项正是我想要做的。 @srinadu 正在重复前面的步骤之一。这不是我问的。我已经让链接工作了,现在我想解决依赖关系。
  • 我对每个目标都有单独的 Xcode 项目。
  • 我有一个工作区。我尝试使用单独的项目和子项目。目标依赖项中都没有显示任何选项。

标签: xcode macos xcode4 frameworks build


【解决方案1】:

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

但是,在我删除 DerivedData 之前,Target Dependencies 中的框架目标并未显示为选项。那个讨厌的小虫子把我逼疯了。

【讨论】:

  • 我刚刚关闭了工作区并重新打开它,然后能够将目标添加为依赖项。这是一个很好的过程教程:pymatics.com/2011/12/23/…
  • 两者都需要。尽管现在 Xcode 会自动解析依赖关系,但对于浏览您的项目以了解您的应用程序依赖于其私有框架的其他人来说,这将是一件好事。
  • 这里的关键是将私有框架项目添加为子项目,之后私有框架的目标会出现在Target Dependencies菜单中。
【解决方案2】:

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

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

您无需在目标依赖项中添加任何内容。

此外,要使其正常工作,请确保 Build Settings 选项卡中的 Runpath Search Paths 值为 @executable_path/Frameworks。

【讨论】:

    【解决方案3】:

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

    【讨论】:

    • 这是上一步,没有它,框架将无法工作。我已经让框架工作了。现在我想确保在应用程序目标之前构建框架。
    【解决方案4】:

    首先需要将其他项目的.xcodeproj作为子项目添加到项目中:

    1. 右键单击Frameworks 组(或其他任何位置)
    2. 选择Add Files to "<Project>..."
    3. 选择其他项目的.xcodeproj
    4. 其他项目的目标现在将出现在Target Dependencies 菜单中

    【讨论】:

      【解决方案5】:

      这里是 Xcode 12+ 更新的更完整答案。

      1. 将第 3 方框架复制到您的项目文件夹。
        它可以位于树中同一项目中的任何位置。您将在后面的步骤中需要路径信息。

      2. 在 Xcode 中,选择您的构建目标,然后选择“常规”选项卡,向下滚动到“框架、库和嵌入式内容”,然后选择“+”浏览并选择要添加的第三部分库/框架.见下文:

      3. 添加后,请确保在您尝试添加的库/框架的下拉列表中选择“嵌入和签名”。
        这很重要,因为框架会在运行时被查找和加载。

      4. 转到“构建设置”选项卡,找到“框架搜索路径”,然后输入框架相对于 Xcode 项目文件位置的路径。见下文:

      现在您可以使用添加的框架构建和运行您的应用程序。

      【讨论】:

        猜你喜欢
        • 2011-12-06
        • 1970-01-01
        • 2015-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-06
        相关资源
        最近更新 更多