升级到 Xcode 10后出现的问题: 找不到构建输入文件

我昨晚把我的 Xcode SDK 升级到10版,然后发现我无法构建。

我得到了这个错误:

找不到生成输入文件: “/Users/call01/Library/Developer/Xcode/DriedData/Comp-Lite-Apps-gytvmossqptokeafrddvmnlzadk/Build/Products/Debug-iphoneos/SG11.app/SG11

它在我升级之前并不存在,我很想回到原来的版本,但是如果我能解决这个问题,我想坚持使用10版。

171830 次浏览

尝试切换回 Legacy Build System(File > Project Settings > Workspace Settings > Legacy Build System)

上面的解决方案最终对我有用; 但是,我需要做一些额外的步骤来最终使它成功编译。(即使在 Xcode 9上也需要这些额外的步骤。)

  1. Xcode: File-> Workspace Settings-> Build System: Legacy Build System Xcode: 文件-> 工作区设置-> 构建系统: 遗留构建系统
  2. Xcode: Product-> Clean
  3. 通过不同的模拟器类型进行编译,如“ iPhone8”、“ iPhone8 Plus”等。(它们可能会失败,也可能不会。)
  4. 最终在“通用 iOS 设备”上编译

对我来说,在 Xcode 10中,这个解决方案非常有效。只需转到恢复引用文件夹,删除所有红色的文件,并再次添加适当的引用。 如果找不到恢复的引用文件夹: 检查项目中所有丢失的文件(红色的文件) ,并尝试再次添加文件引用。

enter image description here

这对我在 Xcode 的工作很有效。10:

  • 在 Xcode 项目中单击 Project 图标/名称
  • 转到普通标签
  • 在 Identity 部分下单击[ Select info.plist File ]
  • 选择 info. Plist 文件
  • 检查 Info 选项卡,查看 Info.plist 是否已成功加载
  • 构建并运行

这招对我很管用

  1. 尝试删除红色文件
  2. 删除派生数据中的文件
  3. 清理生成文件夹
  4. 然后尝试使用 file-> workspace 设置中的“ new build system”进行构建

我通过这种方式解决了这个问题: 进入项目的构建阶段(单击顶部的项目图标,然后单击构建阶段)。在那里搜索你的档案。如果它在那里(它会变成灰色) ,删除它。然后清除(shift + alt + command + k) ,然后运行!希望能有帮助。

打开存在项目文件的右侧导航窗格 或者直接点击 cmd + 1。然后搜索“已恢复的引用”文件夹。打开它,删除所有红色文件,然后一切都会工作得很好。

有趣的是,关闭 Xcode 并重新打开它可能也足够了。

Xcode 抱怨的是一个 XIB 文件,我通过执行项目-> 构建阶段-> 复制捆绑资源,删除“有问题的”XIB,清理(CMD + S hift + K) ,构建并再次添加它来使它工作。

如果错误说找不到 Info.plist,并且正在 错误的道路中查找,请执行以下操作:

  1. 从导航器中选择您的项目,然后选择您的目标
  2. 选择“生成设置”并搜索“ plist”
  3. 应该有一个名为 Info.plist File 的选项。

我在构建单元测试时发生了这种情况,可能是因为我删除了示例测试。

我删除了 Unit 测试包,然后重新添加了它,如下图所示,一切都很好。

enter image description here

enter image description here

对于属于项目的 Swift 文件,如:

Build input file cannot be found: PATH/TO/FILE/FILE.swift

在项目中删除或移动文件或文件夹时可能发生此问题。

解决办法:

  1. 进入项目导航器,选择您的项目

  2. 选择 Build Phasestab

  3. Compile Sources部分中,检查 Xcode 所抱怨的文件

  4. 注意,文件的路径是错误的,点击减号图标就可以删除它们

  5. 通过单击加号图标并在项目中搜索来重新添加文件。

  6. 产品 > 清洁生成文件夹

  7. 建造

你通常会在项目树中的 Xcode 的 Recovered References文件夹中找到这些丢失的文件(查找 Xcode 左下角的搜索栏,然后搜索你的投诉文件) :

从此文件夹中删除它们也可以解决此错误。

还有一种可能性是,当您将文件移动到不同的文件夹时,特别是当您将 info.plist移动到其他文件夹时,您需要定义该文件的位置。要解决这个问题,只需单击顶部的项目蓝色图标,您将看到一个按钮代替项目名称和捆绑包 id,单击它并在那里找到 info.plist文件,快乐地清理和编译。

最近升级到新的快捷版本后,我也遇到了类似的问题。 移动文件导致 xcode 项目引用不再在项目目录中的项,从而导致“错误代码生成输入文件未找到”。

在我的情况下,我有多个文件/图像被引用,如下所述:enter image description here

在上图中。

  • 导航到“目标”页面。
  • 然后单击顶部的“构建阶段”选项卡。
  • 向下滚动复制捆绑资源
  • 找到受影响的文件并删除它们(点击删除或选择它们并点击减号按钮)

正是在这里,我有多个文件和图像,是从其他文件夹引用和构建将失败,因为他们不能再找到他们。我也找不到他们!也不知道 Xcode 是怎么引用它们的

我希望这能帮到别人!

升级到 Xcode 10后不久,我就遇到了这个问题,但这不是问题所在。

我尝试更改构建系统,但这给了我一个单独的错误,意味着同样的事情。一般说法是“文件 X 找不到”。

当找不到一个文件时,有许多事情需要检查。

  1. 已恢复的引用文件夹 苹果做了一件好事,如果它检测到一个不存在的文件引用,它会将这个引用添加到一个名为“恢复引用”的组中

这是苹果公司的优点,但它并不总是有效。

  1. 生成阶段编译源 在这个列表中,可能有一个项目要编译的文件的元数据,但是这个文件实际上并不存在,并且它试图在给定的路径中找到这个文件。在这个列表中,通过切换文件的目标依赖项或手动删除它并将其拖入,它将被调暗,删除它们并重新添加它们。

  2. 文件路径 仔细检查错误打印出的文件路径和查找程序中文件的文件路径。点击 Xcode 的文件并选择“显示文件检查员”标签(最左边的标签) ,你就可以很容易地看到这一点。如果这些路径是正确的,那么你是好的!

  3. 调暗项目中未恢复的引用或红色的文件 这个问题让我很生气,因为这个问题并不明显,但是基本上如果你进入 finder 并将一个文件移动到一个不同的位置而没有更新项目中的引用,它会抛出错误,因为这个文件已经不存在了。我发现的唯一迹象是“ Project Navigator”选项卡(最左边的选项卡)中的文件非常微弱,但是当你删除这个文件时,Xcode 不会提示你删除引用或者发送到垃圾桶。您可以通过删除该文件并将其重新添加到项目中或进入“文件检查器”选项卡,然后单击路径旁边的文件夹图标并将其更改到适当的位置来修复这个问题。

无论哪种方式,错误都表明它无法找到文件,切换到旧的构建系统对于更具体的问题来说只是一个创可贴。作为开发人员,我们理解编译器只是希望在文件路径的末尾列出一个工件。路线不对的地方!我们得找到那个地方!

我的问题已经用上面列出的第4项解决了。希望这对某些人有所帮助。

我也有同样的问题。问题是,在 Target > Build Phases > Compile Source 下面没有任何文件。这个问题在我至少向编译源添加了一个文件之后得到了解决。

不是说我做错了什么,但是我遇到这个问题是因为一个完全不同的原因,而且我知道是什么导致了这一切。

我以前使用 finder 并将一个文件拖放到项目的目录/文件夹中。我把 没有拖入 Xcode。为了让 Xcode 将该文件包含到项目中,稍后我必须再次将其拖放到 Xcode 中。

但是当我切换到一个没有这个文件(也不需要)的新分支时,Xcode 给了我这个错误:

找不到生成输入文件: ’/Users/honey/Document/xp/xpios/power up/Model Extended/CGSize + Extension.swift’


我确实清除了构建文件夹并删除了派生数据,但是直到我重新启动 Xcode 之后才能正常工作。

以上这些方法对我都没用,但这个方法奏效了:

  1. 在 Finder 中打开 project,右键单击.xcodeproj 文件并显示包内容
  2. 在文本编辑器中打开 project.pbxproj
  3. 找到缺失文件的引用
  4. path = "path/to/file.swift"编辑到磁盘上的实际位置并保存文件。
  5. 重建项目

在我的例子中,我不小心删除了我在应用程序中使用的第三方 xcodeproj 文件夹。

只需在目标的 < em > 构建设置 中检查到. plist 文件的路径

enter image description here

在我的例子中,XCode 提到的文件(和目录)是不正确的,这个问题是在 Git 与一个相对较大的分支合并之后开始出现的。为了解决同样的问题,我采取了以下步骤:

  • 在 XCode 的目录系统中搜索该文件。
  • 找到用红色高亮显示的错误文件(即,它丢失了)。
  • 右键单击该文件并删除该文件。
  • 我再次尝试构建我的代码,瞧,成功了。

我希望这些步骤能帮助某些人。

如果你尝试分析,然后它不工作,现在你不能构建,进入你的目标面板(通过项目图标) ,切换到构建设置选项卡,搜索 PROFILE-并设置 CLANG _ USE _ OPTIMIZATION _ PROFILE 为“否”。

我在重命名一个文件后遇到了这个错误。不知为何 Xcode 没有正确地重命名磁盘上的实际文件。

所以它找不到文件。有时文件用红色文本颜色突出显示。其他时候,文件前面的 Swift 图标会出现灰色覆盖。

解决办法很简单。

  • 查看错误并确切查看它无法找到的文件。
  • 选择找不到的文件。
  • 转到“文件检查器”,它在 Xcode 的右侧导航面板上。
  • 点击文件夹图标。
  • 选择正确的文件。
  • 清除构建并重新运行。

在我的例子中,我创建了一个新的测试目标,并删除了默认的快速文件,所以只留下了 info.plist。添加新文件修复了这个问题。

在我的例子中,我有一个生成.app 二进制文件(Buck)的构建脚本。 Buck 构建脚本与 SwiftEmbed 构建步骤并行运行。因为。应用程序二进制还没有生成,但是 Swift 步骤将会失败。

在构建脚本中,我在 "Output Files"下添加了 "$BUILD_PRODUCTS_DIR/$EXECUTABLE_PATH"

这告诉 Xcode 的 New Build System,这个脚本将输出应用程序 Binary,而 Xcode 将确保同步任何依赖于这个构件的构建步骤。

enter image description here

“遗留构建系统”的解决方案对我不起作用,起作用的是:

  1. 清除项目并删除“衍生数据”。
  2. 从项目中删除未找到的输入文件(只有引用,不要删除文件)。
  3. Build (= > 将生成与丢失文件相关的错误)。
  4. 再次向项目添加文件。
  5. 构建(= > should SUCCEED)。

我知道这是一个古老的主题,但是我发现了 xcode 12.3的问题,并且与执行 main 的 CopyPlist 时的一个错误有关。编译过程中的故事板。

实际上,将构建设置更改为“遗留构建设置”是有效的,但它已被弃用,所以我放弃了它,因为这是一个短期解决方案。

看看这个:

enter image description here

在我还没有“拷贝列表”之前,这样的设置对我很有用。

这是一个体系结构问题。不要更改为遗留的构建系统!

我也犯了同样的错误,但是解决这个问题的方法是:

You see at the top?

上面说 VALID _ ARCHS 中的体系结构也被排除在 EXCLUDED ARCHS 之外。为了在 Xcode 12中编译一个 Swift 包,我花了好几个小时在这上面。

它会在模拟器上编译,而不是在设备上。

解决方案:

  • 转到生成设置
  • 确保“ Architecture”包含1个条目: $(ARCHS _ STANDARD)
  • 确保“排除的体系结构”中有 没什么

Build Settings

  • 现在向右滚动到“生成设置”的底部。
  • 确保 VALID _ ARCHS 与此截图完全相同。
  • 手臂的血压恢复到 $(ARCHS _ STANDARD)了。
  • 如果 VALID _ ARCHS 不存在,请使用 + 按钮添加它。

Add button for VALID_ARCHS

VALID_ARCHS

  • 干净(cmd-shift-K)
  • 您的项目现在应该建立完美的模拟器和设备!
  • 如果不起作用,则需要确保所有这些设置在目标生成设置和项目生成设置中都是相同的。
  • 注意,如果你有一台带有苹果硅芯片的 Mac 电脑,你可能不需要这么做。

对于 Cocoapods 来说是随机的: 我没有将测试目标添加到我的 Podfile 中。

我已经删除了一个 Pod 文件夹来修复一个错误。如果你正在使用可可豆荚,请运行:

  1. 分离舱解体
  2. 吊舱安装

这应该可以重建你的休眠舱和里面的所有文件。

在与这个问题斗争了大约45分钟之后,这里有一个超级简单的解决方案,对我很有效。

  1. 在项目资源管理器上,单击红色的文件/文件夹(意味着项目无法找到该文件)
  2. 查看文件检查器中的详细信息选项卡(通常在屏幕的右边-请参阅附加的截图)
  3. 单击文件夹图标并在本地计算机中找到真正的文件/文件夹。

就是这样。这应该可以解决问题。基本上就是帮助你的 xcode 定位目录并更新引用缓存。

enter image description here