尝试切换回 Legacy Build System
(File > Project Settings > Workspace Settings > Legacy Build System
)
对于 Swift 文件或属于项目的文件,例如:
Build input file cannot be found: PATH/TO/FILE/FILE.swift
当项目中的文件或文件夹已被删除或移动时,可能会发生此问题。
要解决这个问题:
进入项目导航器,选择您的项目 选择 Build Phasestab 在编译源部分,检查 Xcode 抱怨的文件 注意文件路径错误,然后通过单击减号将其删除icon 通过单击加号图标并在项目中搜索来重新添加文件。产品 > 清洁构建文件夹构建
您通常会在项目树的 Xcode 的 Recovered References
文件夹中找到这些丢失的文件(查找 Xcode 左下角的搜索栏并搜索您的抱怨文件):
从此文件夹中删除它们也可以解决错误。
对我来说,在 Xcode 10 中,这个解决方案就像一个魅力。只需转到 Recovered References 文件夹并删除所有红色文件,然后使用适当的参考再次添加。如果未找到 Recovered References 文件夹:检查项目中所有丢失的文件(红色文件)并尝试再次添加文件引用。
https://i.stack.imgur.com/1nAEF.png
只需在目标的构建设置中检查 .plist 文件的路径
https://i.stack.imgur.com/chxP6.png
Info.plist
文件的错误,结果是这样。我必须在项目的构建设置中更新文件的位置。谢谢你。
这在 Xcode 10 中对我有用:
单击 Xcode 项目中的项目图标/名称
转到常规选项卡
单击身份部分下的 [选择 info.plist 文件]
选择 info.Plist 文件
检查 Info 选项卡以查看 info.plist 是否已成功加载
构建并运行
有趣的是,关闭 Xcode 并重新打开它可能就足够了。
上述解决方案最终对我有用;但是,我需要做一些额外的步骤才能最终成功编译。 (即使在 Xcode 9 上也需要这些额外的步骤。)
Xcode: File -> Workspace Settings -> Build System: Legacy Build System Xcode: Product -> Clean Rotate 以通过不同的模拟器类型编译,例如“iPhone 8”、“iPhone 8 Plus”等(它们可能会失败或可能不是。)最终在“通用 iOS 设备”上编译
我以这种方式解决了这个问题:转到您项目的构建阶段(单击顶部的项目图标,然后单击构建阶段)。在那里搜索您的文件。如果它在那里(它将变灰),请将其删除。然后清理(shift + alt + command + k),然后运行!希望能帮助到你。
这是一个架构问题。不要更改为旧版构建系统!
我遇到了同样的错误,但为我解决的问题是:
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,您可能不需要执行任何此操作。
如果错误提示它找不到 Info.plist 并且它正在寻找错误的路径,请执行以下操作:
从导航器中选择您的项目,然后选择您的目标选择“构建设置”并搜索“plist”应该有一个名为 Info.plist 文件的选项。将位置更改为正确的位置。
以上都不适合我,但这确实:
在 Finder 中打开项目,右键单击您的 .xcodeproj 文件并显示包内容 在文本编辑器中打开 project.pbxproj 找到对丢失文件的引用 编辑 path = "path/to/file.swift" 到磁盘上的实际位置,然后保存文件。重建项目
就我而言,我有一个生成 .app 二进制文件(Buck)的构建脚本。 Buck 构建脚本与 Swift Embed 构建步骤并行运行。因为尚未生成 .app 二进制文件,Swift 步骤将失败。
在我的构建脚本中,我在 "Output Files"
下添加了 "$BUILD_PRODUCTS_DIR/$EXECUTABLE_PATH"
。
这告诉 Xcode 的新构建系统该脚本将输出应用程序二进制文件,而 Xcode 将确保同步依赖此工件的任何构建步骤。
https://i.stack.imgur.com/YAUGt.png
重命名文件后我遇到了这个错误。不知何故,Xcode 没有正确重命名磁盘上的实际文件。
所以它无法找到该文件。有时文件会以红色文本颜色突出显示。在其他时候,文件前面的 Swift 图标会出现灰色覆盖。
修复很简单。
查看错误并准确查看它无法找到的文件。
选择找不到的文件。
转到“文件检查器”。它位于 Xcode 的右侧导航窗格中。
单击文件夹图标。
选择正确的文件。
清理构建并再次运行它。
打开项目文件所在的右侧导航窗格,或者只需单击 cmd + 1。然后搜索“Recovered References”文件夹。打开它并删除所有红色文件,然后一切都会正常工作。
我在构建单元测试时发生了这种情况。这可能是因为我删除了示例测试。
我删除了单元测试包,然后重新添加它,如下图所示,一切都很好。
https://i.stack.imgur.com/MkihP.png
https://i.stack.imgur.com/LayOr.png
最近升级到新的 swift 版本后,我遇到了类似的问题。四处移动文件导致我的 xcode 项目引用项目目录中不再存在的项目,从而给我找不到错误代码构建输入文件。
https://i.stack.imgur.com/qoABM.png
在上图中。
导航到您的目标页面。
然后单击顶部的构建阶段选项卡。
向下滚动以复制捆绑资源
找到受影响的文件并将其删除。 (点击删除或选择它们并点击减号按钮)
正是在这里,我不知何故有多个从其他文件夹引用的文件和图像,构建将失败,因为他们无法再找到它们。我也找不到它们!或者 Xcode 是如何引用它们的
我希望这对其他人有帮助!
这对我有用
尝试删除红色文件删除派生数据中的文件清理构建文件夹然后尝试使用文件->工作区设置中的“新构建系统”进行构建
我遇到过同样的问题。问题是我在 Target > Build Phases > Compile Sources 下没有任何文件。在我向 Compile Sources 添加了至少一个文件后,问题就解决了。
并不是说我做错了什么,而是我出于完全不同的原因遇到了这个问题,并且知道是什么原因造成的。
我以前使用 finder 并将文件拖到我的项目的目录/文件夹中。我没有拖入 Xcode。为了让 Xcode 将该文件包含到项目中,我不得不自己稍后再将它拖到 Xcode 中。
但是当我切换到一个没有该文件(也不需要)的新分支时,Xcode 给了我这个错误:
找不到构建输入文件:'/Users/honey/Documents/xp/xpios/powerup/Models Extensions/CGSize+Extension.swift'
我确实清理了构建文件夹并删除了我的派生数据,但直到我重新启动我的 Xcode 后它才起作用。
就我而言,XCode 提到的文件(和目录)不正确,并且在 Git 与相对较大的分支合并后开始出现问题。为了解决这个问题,我执行了以下步骤:
在 XCode 的目录系统中搜索该文件。
找到以红色突出显示的错误文件(即,它丢失了)。
右键单击该文件并删除该文件。
我尝试再次构建我的代码,瞧,它成功了。
我希望这些步骤可以帮助某人。
Xcode 抱怨的是一个 XIB 文件,我通过转到项目 -> 构建阶段 -> 复制捆绑资源,删除“有问题的”XIB,清理(CMD + Shift + K),构建并再次添加它来使其工作。
还有一种可能性是,有时当您将文件移动到其他文件夹时,尤其是当您将 info.plist
移动到其他文件夹时,您需要定义该文件的位置。要解决此问题,只需单击顶部的项目蓝色图标,您将看到一个按钮代替项目名称和捆绑包 ID,单击它并在那里找到 info.plist
文件,清理并愉快地编译。
我在升级到 Xcode 10 后不久就遇到了这个问题,但这不是问题。
我尝试更改构建系统,但这给了我一个单独的错误,这意味着同样的事情。一般说“找不到文件X”。
当找不到文件时,需要检查多项内容。
恢复的引用文件夹 Apple 做了一件好事,如果它检测到对不存在的文件的引用,它会将这个引用添加到一个名为“Recovered References”的组中
这对 Apple 来说很好,但它并不总是有效。
构建阶段 编译源 在此列表中,可能存在项目假定要编译的文件的元数据,但该文件实际上并不存在,它正试图在给定路径中查找该文件。在此列表中,它将变暗,删除它们并通过切换文件的目标依赖项或手动将其删除并将其拖入重新添加它们。文件路径仔细检查错误正在打印的文件路径和文件路径查找器中的文件。您可以通过单击 Xcode 中的文件并选中“显示文件检查器”选项卡(最左侧的选项卡)轻松看到这一点。如果这些路径是正确的,那么你很好!项目中未恢复的引用或红色的文件变暗 这让我很生气,因为发生的事情并不明显,但基本上如果你进入 finder 并将文件移动到不同的位置而不更新项目中的引用由于文件不再存在,它将引发错误。我发现的唯一迹象是“项目导航器”选项卡(最左侧的选项卡)中的文件非常暗淡,但是当您删除此文件时,Xcode 不会提示您删除引用或发送到垃圾。您可以通过删除文件并将其重新添加到项目中或转到“文件检查器”选项卡并单击路径旁边的文件夹图标并将其更改为正确的位置来解决此问题。
无论哪种方式,错误都表明它找不到文件,切换到旧的构建系统是针对更具体问题的创可贴。作为开发人员,我们知道编译器只希望将工件列在文件路径的末尾。某处路径不正确!我们必须找到那个地方!
上面列出的第 4 项解决了我的问题。希望这可以帮助某人。
就我而言,我不小心删除了我在应用程序中使用的一个第三方 xcodeproj 文件夹。
如果您尝试分析,然后它不起作用,现在您无法构建,请进入您的目标窗格(通过项目图标),切换到构建设置选项卡,搜索 PROFILE - 并将 CLANG_USE_OPTIMIZATION_PROFILE 设置为“否”。
在我的例子中,我创建了一个新的测试目标并删除了默认的 swift 文件,所以它只剩下 info.plist
。添加一个新文件解决了这个问题。
“旧版构建系统”解决方案对我不起作用。起作用的是:
清理项目并删除“DerivedData”。从项目中删除未找到的输入文件(仅引用,不要删除文件)。构建(=> 将生成与丢失文件相关的错误)。再次将文件添加到项目中。构建(=> 应该成功)。
我知道这是一个老话题,但我发现了 xcode 12.3 的问题,并且与在编译期间执行 main.Storyboard 的 CopyPlist 时出现错误有关。
实际上,将构建设置更改为“旧版构建设置”是可行的,但它已被弃用,所以我放弃了它,因为它是一个短期解决方案。
检查这个:
https://i.stack.imgur.com/ov1jJ.png
使用该设置,为我工作。在我有“复制 plist”之前。
我删除了一个 Pod 文件夹以修复错误。如果您使用的是可可豆荚,请运行:
pod deintegrate pod install
这应该重建您的 pod 和其中的所有文件。
在解决这个问题大约 45 分钟后,这是一个对我有用的超级简单的解决方案。
在项目资源管理器上,单击红色的文件/文件夹(表示项目无法找到该文件)查看文件检查器中的详细信息选项卡(通常在屏幕右侧 - 参见随附的屏幕截图)单击文件夹图标并在本地计算机中找到真正的文件/文件夹。
这就对了。这应该可以解决问题。基本上可以帮助您的 xcode 找到目录并更新参考缓存。
https://i.stack.imgur.com/JU2we.png