Xcode不会添加"嵌入式二进制文件"删除" DerivedData"

时间:2015-01-05 15:09:15

标签: ios iphone frameworks xcode6 apple-watch

辅助搜索的其他标题:

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

概述

中删除“DerivedData”文件夹(或执行“Product> Clean”)后,我无法将CocoaTouch框架从其他项目添加到“嵌入式二进制”部分(在“常规”选项卡下)。 / p>

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

其他症状

单击“嵌入式二进制文件”下的+显示框架选择器,但在工作区中选择不同项目中的框架不会执行任何操作。

3 个答案:

答案 0 :(得分:45)

将框架添加到嵌入式二进制文件时,会为您的项目添加一个引用。如果您在上面的步骤之后选择了该引用,您可能会发现它具有绝对路径对框架的引用,而不是我们想要的相对引用。将位置更改为相对于构建产品,如果“硬”清理或使用其他计算机等,则应始终可以发现引用。

我有made a video,它描述了如何最好地将构建的框架从一个项目添加到另一个兄弟项目中的应用目标。

答案 1 :(得分:7)

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

先决条件:阅读Daniel Tull's answer

  1. 从工作区中删除所有框架项目
  2. 执行“干净构建”和/或删除“DerivedData”
  3. 将项目添加回工作区
  4. 构建项目(可选)
  5. 在应用目标的常规标签中,点击“链接的框架和库”下的+,选择框架。
  6. 在模拟器中构建并运行(应该没有问题构建或运行)
  7. 构建并运行设备(这可能会因框架未正确链接而导致崩溃,请忽略此崩溃)
  8. 点击“嵌入式二进制文件”下的+,选择框架。这应该将它添加到项目中(可能在“链接的框架和库”下重复)
  9. 重复所有必需的框架
  10. 确认构建和运行(在设备上)后,您可以删除Project Navigator中的任何重复(和/或红色)框架或目标常规选项卡

答案 2 :(得分:0)

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

enter image description here