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

use*_*076 80 xcode upgrade

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

我收到这个错误:

无法找到构建输入文件:'/ Users/call01/Library/Develorator/Xcode/DelivedData/Comp-Lite-Applics -gytvmossqptokeafrddvvmnlzadk/Build/Products /Debug-iphoneos/SG11.app/SG11

在我升级之前不存在,我很想回复,但如果我能解决这个问题,我想坚持使用第10版.

sch*_*dt9 105

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

  • @schmidt9 脱帽致敬,非常感谢你救了你一命。其次,我无法相信这个新的构建系统是问题所在。我已经为此苦苦挣扎了好几天。更新到 iOS 12 和 XCode 10 后,自动签名被破坏了。我尝试了一切,甚至撤销并重新创建了所有证书。和简介。签名已修复,但配置文件始终为 NONE。我可以手动签署应用程序并且它可以工作,但是随后发布的应用程序中缺少 iCloud 容器和其他实体元素。无论如何,解决了我的问题。天哪,苹果每次更新都让我很沮丧。干杯! (3认同)
  • 好的。但我仍然想知道以后会发生什么?我们需要修复我们的项目,但如何修复? (2认同)

Kri*_*kur 51

对我来说在Xcode 10中,这个解决方案就像一个魅力.只需转到Recovered References文件夹并删除所有红色文件,然后使用适当的参考再次添加.

在此输入图像描述

  • 我在项目中找不到“已恢复的引用” (8认同)
  • 在我们删除红色文件后,“再次添加适当的参考”意味着什么? (3认同)
  • @davidmlee我想他的意思是:“打开项目中的所有文件夹,删除红色的内容,然后再次添加。” 不需要恢复的引用文件夹。 (2认同)

Ant*_*nyR 47

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

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

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

要解决这个问题 :

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

2.选择Build Phases标签

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

4.请注意,文件路径错误,然后单击减号图标将其删除。

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

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

7.建立 ??

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

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


der*_*rbs 24

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

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

看到上面了吗?

顶部表示 VALID_ARCHS 中的架构也被排除在 EXCLUDED ARCHS 中。我和他们一起搞了一个 Swift 包来在 Xcode 12 中编译,并且花了几个小时。

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

解决方案:

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

构建设置

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

为 VALID_ARCHS 添加按钮

VALID_ARCHS

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


Tik*_*der 22

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

在此处输入图片说明


dan*_*dar 15

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


dav*_*lee 14

上述解决方案最终适合我; 但是,我需要做一些额外的步骤才能最终成功编译.(即使在Xcode 9上也需要这些额外的步骤.)

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


Mil*_*Dev 14

这在Xcode 10中对我有用:

  • 单击Xco​​de项目中的项目图标/名称
  • 转到常规选项卡
  • 单击"身份"部分下的[选择info.plist文件]
  • 选择info.Plist文件
  • 检查"信息"选项卡以查看是否已成功加载info.plist
  • 建立并运行


小智 8

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


kev*_*rly 6

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

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


小智 6

以上都不适合我,但这样做了:

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


Vla*_*lad 5

就我而言,我有一个生成 .app 二进制文件 (Buck) 的构建脚本。Buck 构建脚本与 Swift Embed 构建步骤并行运行。因为 .app 二进制文件还没有生成,Swift 步骤会失败。

在我的构建脚本中,我"$BUILD_PRODUCTS_DIR/$EXECUTABLE_PATH""Output Files".

这会告诉 Xcode 的新构建系统该脚本将输出应用程序二进制文件,然后 Xcode 将确保同步任何依赖于该工件的构建步骤。

在此处输入图片说明