14

辅助搜索的替代标题:

  • 在 Xcode 中添加嵌入式二进制文件失败
  • Xcode 不会从单独的项目链接框架
  • 由于缺少框架,应用程序在设备上崩溃,在模拟器中工作

概述

在 xcode6 中删除“DerivedData”文件夹(或执行“Product > Clean”)我无法将另一个项目中的 CocoaTouch 框架添加到“Embedded Binary”部分(在 General 选项卡下)。

或者,Xcode 遇到链接器错误,因为它找不到以前可以找到的框架。

其他症状

单击“Embedded Binaries”下的 + 会显示框架选择器,但在工作区的不同项目中选择框架不会执行任何操作。

4

3 回答 3

45

当您将框架添加到Embedded Binaries时,将为您的项目添加一个引用。如果您在上述步骤之后选择该引用,您可能会发现它具有对框架的绝对路径引用,而不是我们想要的相对路径引用。将位置更改为相对于构建产品,如果进行“硬”清理或使用另一台计算机等,则应该始终可以发现参考。

制作了一个视频,描述了如何最好地将一个项目中的构建框架添加到另一个同级项目中的应用程序目标。

于 2015-01-05T15:32:56.867 回答
7

这是我发现恢复嵌入式二进制文件的唯一方法,如果您发现不需要某些步骤,请留下评论。

先决条件:阅读Daniel Tull 的回答

  1. 从工作区中删除所有框架项目
  2. 执行“干净构建”和/或删除“DerivedData”
  3. 将项目添加回工作区
  4. 构建项目(可能是可选的)
  5. 在应用程序目标的 General 选项卡中,单击“Linked Frameworks and Libraries”下的 + ,选择框架。
  6. 在模拟器中构建并运行(构建或运行应该没有问题)
  7. 为设备构建并运行(这可能由于框架未正确链接而导致崩溃,请忽略此崩溃)
  8. 单击“Embedded Binaries”下的+ ,选择框架。这应该将其添加到项目中(可能在“链接框架和库”下重复)
  9. 对所有必需的框架重复
  10. 确认构建和运行(在设备上)后,您可以在 Project Navigator 或目标 General 选项卡中删除任何重复的(和/或红色)框架
于 2015-01-05T15:09:15.087 回答
0

只是为了添加到@Daniel 的答案,如果您的位置下拉列表显示为灰色,则您可能选择了错误的文件。确保选择您的应用项目(不是框架项目)中的框架。

在此处输入图像描述

于 2016-04-08T09:28:30.487 回答