ChatGPT解决这个技术问题 Extra ChatGPT

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

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

我收到此错误:

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

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


S
Sampath

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


好的。但我仍然想知道以后会发生什么?我们需要修复我们的项目,但如何解决?
@schmidt9 脱帽致敬,非常感谢你救了你一命。其次,我不能相信这个新的构建系统是问题所在。这几天我一直在为此苦苦挣扎。更新到 iOS 12 和 XCode 10 后,自动签名被破坏。我尝试了一切,甚至撤销并重新创建了所有证书。和配置文件。签名已修复,但配置文件始终为 NONE。我可以手动签署应用程序并且它可以工作,但是发布的应用程序中缺少 iCloud 容器和其他实体元素。无论如何,解决了我的问题。天哪,苹果每次更新都让我感到沮丧。干杯!
这解决了我的自动签名和分析问题。但我仍然在使用 iCloud 容器时遇到问题。当我将应用程序直接安装到我的手机时,它工作正常。我有一个 iCloud 容器并使用 iCloud 文档从 iCloud 存储中附加文件。但是当我将应用程序发布到 TestFlight 时,它不起作用。静默失败,好像 iCloud 容器甚至不存在于分布式应用程序的配置文件中。令人难以置信的沮丧。
@Nexus 自Apple推出以来,新构建系统的这个问题一直存在(xcode 8或9)。抱歉没有处理 iCloud 容器,不能说可能有什么问题
@schmidt9 无论如何,谢谢,切换回旧版构建系统解决了我的自动签名问题。但我仍然坚持使用我的 iCloud 容器 T_T
C
Cloud

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

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

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

要解决这个问题:

进入项目导航器,选择您的项目 选择 Build Phasestab 在编译源部分,检查 Xcode 抱怨的文件 注意文件路径错误,然后通过单击减号将其删除icon 通过单击加号图标并在项目中搜索来重新添加文件。产品 > 清洁构建文件夹构建

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

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


有时当我从 XCode 中重命名时,“Finder”中的文件仍然保留旧名称。在“Finder”中找到该文件并将其重命名为新名称。
K
Krishna Kumar Thakur

对我来说,在 Xcode 10 中,这个解决方案就像一个魅力。只需转到 Recovered References 文件夹并删除所有红色文件,然后使用适当的参考再次添加。如果未找到 Recovered References 文件夹:检查项目中所有丢失的文件(红色文件)并尝试再次添加文件引用。

https://i.stack.imgur.com/1nAEF.png


我在我的项目中找不到“已恢复的引用”
在我们删除红色文件后,“使用适当的参考再次添加”是什么意思?
@PrimeTimeTran 我的意思是您可以通过拖放或复制粘贴在您的项目中再次添加这些文件引用。就像在项目中添加一个新文件一样。
@davidmlee 我认为这家伙的意思是:“打开项目中的所有文件夹,删除红色的东西,然后重新添加。”不需要有已恢复的引用文件夹。
T
Tikhonov Aleksandr

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

https://i.stack.imgur.com/chxP6.png


是的 - 我已将 plist 移动到一个单独的文件夹中。我认为这些文件夹曾经是虚拟的,现在它们是真实的(旧的蓝色/黄色文件夹)。无论哪种方式,您的答案都是正确的:-)
XCode 13 开始向我显示缺少 Info.plist 文件的错误,结果是这样。我必须在项目的构建设置中更新文件的位置。谢谢你。
M
Mile Dev

这在 Xcode 10 中对我有用:

单击 Xcode 项目中的项目图标/名称

转到常规选项卡

单击身份部分下的 [选择 info.plist 文件]

选择 info.Plist 文件

检查 Info 选项卡以查看 info.plist 是否已成功加载

构建并运行


就我而言,我更改了项目文件夹名称,但找不到我的 info.plist。这对我有用。干杯
d
danielhadar

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


我还删除了派生数据,但简单地关闭/重新打开可能就足够了。
我认为这是一种解决问题的 Visual Studio 方式……但它对我有用。
对我没用
d
david m lee

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

Xcode: File -> Workspace Settings -> Build System: Legacy Build System Xcode: Product -> Clean Rotate 以通过不同的模拟器类型编译,例如“iPhone 8”、“iPhone 8 Plus”等(它们可能会失败或可能不是。)最终在“通用 iOS 设备”上编译


我需要完成其中一些步骤才能使其正常工作。
A
Anastasiia Staiko

我以这种方式解决了这个问题:转到您项目的构建阶段(单击顶部的项目图标,然后单击构建阶段)。在那里搜索您的文件。如果它在那里(它将变灰),请将其删除。然后清理(shift + alt + command + k),然后运行!希望能帮助到你。


d
derbs

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

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

https://i.stack.imgur.com/XX6QF.png

顶部表示 VALID_ARCHS 中的架构也被排除在 EXCLUDED ARCHS 中。我正在和他们一起搞砸,以获得一个在 Xcode 12 中编译的 Swift 包,并为此花费了几个小时。

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

解决方案:

转到构建设置

确保“架构”包含 1 个条目:$(ARCHS_STANDARD)

确保“排除的架构”中没有任何内容

https://i.stack.imgur.com/o55t8.png

现在向右滚动到构建设置的底部。

确保 VALID_ARCHS 与此屏幕截图完全相同。

手臂的东西又是 $(ARCHS_STANDARD) 。

如果 VALID_ARCHS 不存在,请使用 + 按钮添加它。

https://i.stack.imgur.com/FL7mw.png

https://i.stack.imgur.com/MLfV3.png

清洁(cmd-shift-K)

您的项目现在应该可以在模拟器和设备上完美构建!

如果它不起作用,您需要确保所有这些设置在您的目标构建设置和项目构建设置中都相同。

请注意,如果您有一台装有 Apple 芯片的 Mac,您可能不需要执行任何此操作。


如何在 Xcode 12 中添加 VALID_ARCHS?我找不到任何 + 按钮来添加它
@PersianBlue 这是顶部的 + 按钮 - 不是很直观!我已在原始帖子中添加了屏幕截图。
我有带有 Apple Silicon 的 mac。如果我尝试构建应用程序,则会收到错误显示所有错误仅构建输入文件找不到:'/Users/name/Library/Developer/Xcode/DerivedData/helloapp-dhdivlzaazbnhtguhlgnkkglsibo/Build/Products/Debug-iphonesimulator/你好 App.app/你好应用程序'。有什么解决方法吗?
这应该是最佳答案!谢谢!
我已将 arm64 添加到模拟器的排除拱门中,因为否则它无法在 M1 上运行,但这似乎是现在实际上同时适用于模拟器和设备的解决方案。谢谢!!
k
keverly

如果错误提示它找不到 Info.plist 并且它正在寻找错误的路径,请执行以下操作:

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


如果您重命名应用程序文件夹/结构,此答案也适用。谢谢@keverly
B
Ben Gomm

以上都不适合我,但这确实:

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


V
Vlad

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

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

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

https://i.stack.imgur.com/YAUGt.png


m
mfaani

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

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

修复很简单。

查看错误并准确查看它无法找到的文件。

选择找不到的文件。

转到“文件检查器”。它位于 Xcode 的右侧导航窗格中。

单击文件夹图标。

选择正确的文件。

清理构建并再次运行它。


O
Oriol Roma

打开项目文件所在的右侧导航窗格,或者只需单击 cmd + 1。然后搜索“Recovered References”文件夹。打开它并删除所有红色文件,然后一切都会正常工作。


D
Declan McKenna

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

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

https://i.stack.imgur.com/MkihP.png

https://i.stack.imgur.com/LayOr.png


J
Julian Silvestri

最近升级到新的 swift 版本后,我遇到了类似的问题。四处移动文件导致我的 xcode 项目引用项目目录中不再存在的项目,从而给我找不到错误代码构建输入文件。

https://i.stack.imgur.com/qoABM.png

在上图中。

导航到您的目标页面。

然后单击顶部的构建阶段选项卡。

向下滚动以复制捆绑资源

找到受影响的文件并将其删除。 (点击删除或选择它们并点击减号按钮)

正是在这里,我不知何故有多个从其他文件夹引用的文件和图像,构建将失败,因为他们无法再找到它们。我也找不到它们!或者 Xcode 是如何引用它们的

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


A
Aditya A.Rajan

这对我有用

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


e
egabor

我遇到过同样的问题。问题是我在 Target > Build Phases > Compile Sources 下没有任何文件。在我向 Compile Sources 添加了至少一个文件后,问题就解决了。


m
mfaani

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

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

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

找不到构建输入文件:'/Users/honey/Documents/xp/xpios/powerup/Models Extensions/CGSize+Extension.swift'

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


A
Arka Mukherjee

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

在 XCode 的目录系统中搜索该文件。

找到以红色突出显示的错误文件(即,它丢失了)。

右键单击该文件并删除该文件。

我尝试再次构建我的代码,瞧,它成功了。

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


f
fredy

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


x
xskxzr

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


A
A'sa Dickens

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

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

当找不到文件时,需要检查多项内容。

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

这对 Apple 来说很好,但它并不总是有效。

构建阶段 编译源 在此列表中,可能存在项目假定要编译的文件的元数据,但该文件实际上并不存在,它正试图在给定路径中查找该文件。在此列表中,它将变暗,删除它们并通过切换文件的目标依赖项或手动将其删除并将其拖入重新添加它们。文件路径仔细检查错误正在打印的文件路径和文件路径查找器中的文件。您可以通过单击 Xcode 中的文件并选中“显示文件检查器”选项卡(最左侧的选项卡)轻松看到这一点。如果这些路径是正确的,那么你很好!项目中未恢复的引用或红色的文件变暗 这让我很生气,因为发生的事情并不明显,但基本上如果你进入 finder 并将文件移动到不同的位置而不更新项目中的引用由于文件不再存在,它将引发错误。我发现的唯一迹象是“项目导航器”选项卡(最左侧的选项卡)中的文件非常暗淡,但是当您删除此文件时,Xcode 不会提示您删除引用或发送到垃圾。您可以通过删除文件并将其重新添加到项目中或转到“文件检查器”选项卡并单击路径旁边的文件夹图标并将其更改为正确的位置来解决此问题。

无论哪种方式,错误都表明它找不到文件,切换到旧的构建系统是针对更具体问题的创可贴。作为开发人员,我们知道编译器只希望将工件列在文件路径的末尾。某处路径不正确!我们必须找到那个地方!

上面列出的第 4 项解决了我的问题。希望这可以帮助某人。


s
sabiland

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


K
Konchog

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


K
Kwaku Eshun

在我的例子中,我创建了一个新的测试目标并删除了默认的 swift 文件,所以它只剩下 info.plist。添加一个新文件解决了这个问题。


R
Ricardo Barroso

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

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


P
P. LoThaR

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

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

检查这个:

https://i.stack.imgur.com/ov1jJ.png

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


T
Tomas Ward

我删除了一个 Pod 文件夹以修复错误。如果您使用的是可可豆荚,请运行:

pod deintegrate pod install

这应该重建您的 pod 和其中的所有文件。


A
AmitGupta

在解决这个问题大约 45 分钟后,这是一个对我有用的超级简单的解决方案。

在项目资源管理器上,单击红色的文件/文件夹(表示项目无法找到该文件)查看文件检查器中的详细信息选项卡(通常在屏幕右侧 - 参见随附的屏幕截图)单击文件夹图标并在本地计算机中找到真正的文件/文件夹。

这就对了。这应该可以解决问题。基本上可以帮助您的 xcode 找到目录并更新参考缓存。

https://i.stack.imgur.com/JU2we.png


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅