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

时间:2018-09-19 08:51:06

标签: xcode upgrade

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

我收到此错误:

  

找不到构建输入文件:   '/Users/call01/Library/Developer/Xcode/DerivedData/Comp-Lite-Apps-gytvmossqptokeafrddvvmnlzadk/Build/Products/Debug-iphoneos/SG11.app/SG11

在升级之前不存在,因此我倾向于还原,但如果我能解决此问题,则希望坚持使用版本10。

31 个答案:

答案 0 :(得分:83)

尝试切换回Legacy Build SystemFile > Project Settings > Workspace Settings > Legacy Build System

答案 1 :(得分:30)

对我来说,在Xcode 10中,此解决方案就像一个魅力。只需转到“恢复的引用”文件夹并删除所有红色文件,然后使用适当的引用再次添加即可。

enter image description here

答案 2 :(得分:12)

上述解决方案最终对我有效;但是,我需要做一些额外的步骤才能最终使其成功编译。 (甚至在Xcode 9上也需要这些额外的步骤。)

  1. Xcode:文件->工作区设置->构建系统:旧版构建系统
  2. Xcode:产品->清洁
  3. 旋转可通过不同的仿真器类型进行编译,例如“ iPhone 8”,“ iPhone 8 Plus”等(它们可能会失败也可能不会。)
  4. 最终在“通用iOS设备”上编译

答案 3 :(得分:11)

这在Xcode 10中对我有用:

  • 在Xcode项目中单击项目图标/名称
  • 转到“常规”标签
  • 点击“身份”部分下的[选择info.plist文件]
  • 选择info.Plist文件
  • 检查“信息”标签以查看是否成功加载了info.plist
  • 构建并运行

答案 4 :(得分:10)

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

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

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

要修复:

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

2。选择Build Phases标签

3。在Compile Sources部分中,检查Xcode抱怨的文件

4。请注意,文件路径错误,请通过单击减号图标删除它们

5。通过单击加号图标重新添加文件,然后在项目中搜索。

6。产品>清理构建文件夹

7。建立✔️

答案 5 :(得分:8)

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

答案 6 :(得分:6)

我已通过以下方式解决了此问题:转到项目的“构建阶段”(单击顶部的项目图标,然后单击“构建阶段”)。在此处搜索您的文件。如果存在(将显示为灰色),请将其删除。然后清理(shift + alt + command + k),然后运行!希望对您有所帮助。

答案 7 :(得分:5)

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

enter image description here

答案 8 :(得分:3)

重命名文件后遇到此错误。 Xcode不能以某种方式正确地重命名磁盘上的实际文件。

因此无法找到该文件。有时文件会以红色文本突出显示高光。在其他时候,文件前面的Swift图标会显示灰色叠加层。

修复很简单。

  • 调查错误,并确切地找到它找不到的文件。
  • 选择找不到的文件。
  • 转到“文件检查器”。在Xcode的右侧导航窗格中。
  • 单击文件夹图标。
  • 选择正确的文件。
  • 清理构建并再次运行。

答案 9 :(得分:2)

打开项目文件所在的右侧导航窗格 或JSUT单击cmd + 1,然后搜索“ Recovered References”文件夹 打开所有红色文件(删除它们),然后一切都会很好。

答案 10 :(得分:2)

如果错误表明找不到Info.plist,并且查找的是错误路径,请执行以下操作:

  1. 从导航器中选择您的项目,然后选择目标
  2. 选择“构建设置”并搜索“ plist”
  3. 应该有一个名为Info.plist File的选项。将位置更改为正确的位置。

答案 11 :(得分:2)

就我而言,我有一个生成脚本,该脚本生成.app二进制文件(Buck)。 Buck构建脚本与Swift Embed构建步骤并行运行。由于未生成.app二进制文件,因此Swift步骤将失败。

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

这告诉Xcode的新构建系统,该脚本将输出应用Binary,然后Xcode将确保同步依赖于此工件的任何构建步骤。

enter image description here

答案 12 :(得分:1)

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

我删除了单元测试包,然后如下图所示对其进行了重新添加,一切恢复正常。

enter image description here

enter image description here

答案 13 :(得分:1)

这是一个架构问题。不要更改为旧版构建系统!

我遇到了同样的错误,但为我解决的是:

You see at the top?

顶部说 VALID_ARCHS 中的架构也被排除在 EXCLUDED ARCHS 中。我正在与他们混在一起,以便在 Xcode 12 中编译一个 Swift 包,并为此花费了数小时。

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

解决方案:

  • 转到构建设置
  • 确保“架构”包含 1 个条目:$(ARCHS_STANDARD)
  • 确保“排除的架构”中没有任何内容

Build Settings

  • 现在向右滚动到构建设置的底部。
  • 确保 VALID_ARCHS 与此屏幕截图完全相同。
  • 手臂的东西又是$(ARCHS_STANDARD)
  • 如果 VALID_ARCHS 不存在,请使用 + 按钮添加。

Add button for VALID_ARCHS

VALID_ARCHS

  • 清理(cmd-shift-K)
  • 您的项目现在应该可以在模拟器和设备上完美构建!
  • 如果它不起作用,您需要确保目标构建设置和项目构建设置中的所有这些设置都相同。
  • 请注意,如果您使用的是配备 Apple 芯片的 Mac,则可能不需要执行任何这些操作。

答案 14 :(得分:1)

最近升级到新的Swift版本后,我遇到了类似的问题。 移动文件导致我的xcode项目引用了项目目录中不再存在的项目,这给了我错误代码生成输入文件未找到的消息。

在我的情况下,我莫名其妙地引用了多个文件/图像,如下所述:enter image description here

在上图中。

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

在这里,我莫名其妙地有多个文件和图像正在从其他文件夹中引用,并且由于无法找到它们,因此构建将失败。而且我也找不到它们!还是Xcode仍在引用它们的方式

我希望这对其他人有帮助!

答案 15 :(得分:0)

我知道这是一个老话题,但我发现了 xcode 12.3 的问题,并且与编译期间执行 main.Storyboard 的 CopyPlist 时出错有关。

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

检查这个:

enter image description here

使用该设置,对我有用。在我有“复制 plist”之前。

答案 16 :(得分:0)

“旧版构建系统”解决方案对我不起作用。起作用的是:

  1. 清理项目并删除“ DerivedData”。
  2. 删除从项目中找不到的输入文件(仅引用,不删除文件)。
  3. 生成(=>会生成与丢失文件有关的错误)。
  4. 再次将文件添加到项目中。
  5. 构建(=>应该成功)。

答案 17 :(得分:0)

就我而言,我创建了一个新的测试目标并删除了默认的swift文件,因此只剩下了info.plist。添加新文件可解决此问题。

答案 18 :(得分:0)

如果您尝试进行性能分析,然后又无法工作,现在无法构建,请进入“目标”窗格(通过“项目”图标),切换到“构建设置”选项卡,搜索PROFILE-并将CLANG_USE_OPTIMIZATION_PROFILE设置为“不”。

答案 19 :(得分:0)

在我的情况下,XCode提到的文件(和目录)不正确,并且在Git与相对较大的分支合并后,问题开始出现。要解决此问题,我执行了以下步骤:

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

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

答案 20 :(得分:0)

就我而言,删除项目中的重复文件

答案 21 :(得分:0)

就我而言,我不小心删除了我在应用中使用的一个第三方xcodeproj文件夹。

答案 22 :(得分:0)

以上都不对我有用,但这确实做到了:

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

答案 23 :(得分:0)

文件>项目设置>将构建系统更改为旧版构建系统

答案 24 :(得分:0)

并不是说我做错了什么,但是我出于完全不同的原因遇到了这个问题,并且知道是什么原因造成的。

我以前使用finder并将文件拖到项目的目录/文件夹中。我没有拖动到 Xcode 。为了使Xcode将该文件包含到项目中,我不得不稍后再次将其拖到Xcode中。

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

  

找不到构建输入文件:   '/用户/蜂蜜/文档/ xp / xpios / powerup /模型   扩展程序/CGSize+Extension.swift'


我确实清理了构建文件夹并删除了我的派生数据,但是直到重新启动Xcode才起作用。

答案 25 :(得分:0)

我有同样的问题。问题是我在“目标”>“构建阶段”>“编译源”下没有任何文件。在我将至少一个文件添加到“编译源”后,问题得以解决。

答案 26 :(得分:0)

升级到Xcode 10后,我很快遇到了这个问题,但这不是问题。

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

当找不到文件时,有很多检查要检查。

  1. 恢复的引用文件夹 Apple做这件好事,如果它检测到对不存在的文件的引用,则会将该引用添加到名为“ Recovered References”的组中

这对苹果公司来说很好,但并非总是如此。

  1. 构建阶段编译源 在此列表中,可能有项目要编译的文件的元数据,但该文件实际上不存在,并且正尝试在给定路径下查找该文件。在此列表中,它将变暗,删除它们并通过切换文件的目标依赖项或手动将其删除并将其拖入来重新添加。

  2. 文件的路径 仔细检查错误正在输出的文件路径以及finder中文件的文件路径。您可以通过单击Xco​​de中的文件并选中“显示文件检查器”标签(最左侧的标签)来轻松查看。如果这些路径正确,那么您就很好!

  3. 项目中的文件变暗,这些文件不在恢复的引用中或没有显示为红色 这让我很生气,因为它对所发生的事情并不十分了解,但是基本上,如果您进入查找器并将文件移动到其他位置而又不更新项目中的引用,则会因为文件不再存在而引发错误。我发现的唯一指示是“项目导航器”选项卡(最左侧的选项卡)中的文件略微变暗,但是当您删除此文件时,Xcode不会提示您删除引用或发送至垃圾。您可以通过删除文件并将其重新添加到项目中或转到“文件检查器”选项卡并单击路径旁边的文件夹图标并将其更改为正确的位置来解决此问题。

无论哪种方式,该错误都表明它找不到文件,因此切换到旧的生成系统对于解决更具体的问题是一个难题。作为开发人员,我们理解编译器只希望在文件路径的末尾列出工件。路径不正确的地方!我们必须找到那里!

我的问题已通过上面列出的项目4解决。希望这对某人有帮助。

答案 27 :(得分:0)

还有一种可能是,有时将文件移动到其他文件夹时,尤其是将info.plist移动到其他文件夹时,需要定义该文件的位置。要解决此问题,只需单击顶部的项目蓝色图标,您将在项目名称和包ID处看到一个按钮,单击它并在其中找到info.plist文件,愉快地进行编译即可。

答案 28 :(得分:0)

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

答案 29 :(得分:0)

  1. 转到Xcode->文件->项目设置
  2. 更改构建系统:-“旧版构建系统”。
  3. 清理,构建并点击运行。

答案 30 :(得分:0)

  1. 尝试删除红色文件
  2. 删除派生数据中的文件
  3. 清理构建文件夹
  4. 然后尝试通过使用文件->工作区设置中的“新建系统”来进行构建