109

使用 swift 4.2 在 Xcode 10.0 中构建时出现以下错误:

这是错误

4

30 回答 30

232

在检查器周围移动文件夹可能会导致错误“找不到构建输入文件”

斯威夫特 5

在 Swift 5 中,出现了错误,但身份显示没有错误。

  • 进入构建设置并选择打包。
  • 删除 Debug 和 Release 的当前路径并输入保存 info.plist 的新路径。

例如 [APPROJECTNAME]/[THEINFOPLISTFOLDER]/info.plist 在下面的截图中,路径是 API-client/Resources/info.plist

在此处输入图像描述

斯威夫特 4

要修复它,请转到常规选项卡并在身份下重新选择您喜欢的 info.plist

在此处输入图像描述

在此处输入图像描述

我希望这有帮助

于 2018-11-18T22:34:20.680 回答
61

找不到构建输入文件

如何解决此问题:

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

  2. 选择构建阶段选项卡

  3. 在 Compile Sources 部分,检查 Xcode 要求的文件

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

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

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

  7. 建造

于 2019-05-13T05:37:28.823 回答
19

解决 project.pbxproj 中的冲突后,我遇到了这个问题。

第 1 步:从 BuildPhases -> Copy Bundle 资源中删除“找不到构建输入文件”文件并将它们添加回来对我有用。

如果上述步骤 1 不起作用,请在项目结构中搜索“Recovered References”文件夹并删除导致此问题的文件并重复步骤 1

于 2019-02-25T12:00:02.780 回答
14

Info.plist移动到另一个文件夹时最常见的错误。要修复此错误,您可以选择 Info.plist 并从文件检查器中选择Relevant to Project 。

在此处输入图像描述

下一步,转到构建设置并搜索info.plist并修复文件路径。

在此处输入图像描述

于 2020-07-04T16:02:57.523 回答
11

对于缺少构建文件,即 info.Plist :在项目导航器下,选择(单击)项目名称和图标,

在中间窗格中,单击目标单击顶部的蓝色常规选项卡单击/目标单击弹出窗口中的[Choose info.plist File]按钮,选择info.Plist文件

于 2018-10-18T18:50:22.143 回答
11

在将项目克隆到新文件夹后找不到丢失的视图控制器文件,我遇到了同样的问题。我删除了视图控制器,但编译器继续要求一个不再存在的路径中的文件。

我解决了如下问题:

  • 在 Project-navigator 中选择项目目标,
  • 转到构建阶段选项卡
  • 在 Compile Sources 部分,检查编译器要求的文件。您可以按屏幕右上角的名称进行过滤。
  • 删除的文件仍在列表中,路径错误,请单击减号图标将其删除。你必须为你可能拥有的所有目标做这件事。
  • 如果您仍在使用该文件,请单击加号图标将其添加到新路径中。
  • 在产品菜单中清理构建文件夹。

它现在应该可以工作了:D

(Objective-C 项目/Xcode 版本 10.2.1 (10E1001))

于 2019-05-16T11:17:19.210 回答
7

如果您收到“无法找到构建输入文件错误消息”并且检查器中的文件为红色,则此方法有效:

  1. 在 Finder 中打开您的项目文件夹

  2. 将受影响的文件复制到桌面上

  3. 删除 Xcode 中受影响的文件,然后关闭 Xcode

  4. 重新打开 Xcode 并将复制的文件拖到 Xcode 项目中

这对我有用。在收到错误消息之前,我正在文件检查器中重新组织文件,这给了我错误消息并使我正在移动的文件变成红色。希望这可以帮助 !!

于 2018-11-27T14:15:07.893 回答
6

将构建设置更改为旧版

  1. 首先,在 XCode 中双击打开你的项目ios/<YourApp.xcodeproj>

  2. 然后转到文件>项目设置...

  3. 在 Per-User Project Settings 中将 Build System 更改为 Legacy Build System:

在此处输入图像描述

于 2018-10-02T06:47:44.150 回答
6

对我来说,这很有效:

点击下方的应用名称TARGETS

Build Settings -> Packaging -> Info.plist File

将 Info.plist 文件的文件位置更改为新位置。

DemoApp/Info.plist to DemoApp/Assets/Info.plist

在此处输入图像描述

于 2019-10-13T18:23:31.763 回答
5

当我将 Info.plist 移动到文件夹中时出现此错误。

当我从文件夹中取出 Info.plist 时,我不再收到错误消息。

于 2018-09-23T21:09:40.120 回答
5

选择常规选项卡并在身份下选择您想要用于开发的 info.plist

于 2019-03-21T06:49:38.333 回答
5

对我来说,一些完全不同的东西起作用了:

转到目标>构建设置>架构

我之前的有效架构: arm64 arm64e armv7 armv7s(默认)

将其更改为: armv7 i386 arm64 armv7s

于 2019-06-04T13:27:21.873 回答
5

我尝试进入Compile Sources选项Build Phases卡并删除并重新添加所选文件(以及清理和重建)但它不起作用:(相反,如果您收到“无法找到构建输入文件”,则以下答案对我有用错误信息:

  1. 在 Xcode 中删除受影响的文件(我在导航器中右键单击->删除)
  2. 重新添加受影响的文件(我的文件是.mlmodel),然后我在目标下选择了“如果需要,复制项目”。
  3. Cmd-shift-k清洁,然后Cmd-b建造,瞧!该文件已被识别并且错误消失了!

希望这可以帮助!

于 2019-06-19T18:20:14.867 回答
4

就我而言,当我使用Refactor重命名 ViewController 名称时出现此错误。视图控制器名称出现已更改,但实际文件未更改。

我试图按照@ajji 所说的去做,但没有奏效。所以我更改了真实文件的名称。在那之后,一切都像魅力一样

于 2019-06-03T19:27:56.827 回答
3

如果您的文件 - 无法找到 - 图标颜色是苍白的。然后右键单击它,“在 Finder 中显示”不会打开 Finder。这意味着您的文件名与您在导航器中看到的不同。 文件图标在正常模式和淡色模式下的显示方式

要解决它,请转到文件所在的位置,并将其名称更改为与您在导航器中看到的相同。

于 2020-02-18T15:26:34.240 回答
3

如果一切都失败了:

  1. 在 Xcode 中。从您的项目中删除相关文件的引用。
  2. 在 Xcode 中将 project.pbxproj 文件作为文件打开。这是在 .xcodeproj
  3. 删除包含所述文件名称的所有行。节省。
  4. 回到 Xcode。在 Xcode 中将文件重新添加到您的项目中。
于 2020-12-03T14:55:30.127 回答
2

在我的情况下,文件不在正确的路径中,Xcode 期望在类似的路径中找到输入文件,/Users/Malloc/Projects/MyProject/Info.plist而实际上该文件位于不同的路径中,例如/Users/Malloc/Projects/MyProject/Subfolder/Info.plist.

对此的快速解决方法是简单地右键单击文件然后选择Show in Finder,然后将文件拖到 Xcode 期望的正确路径。

于 2019-04-23T08:44:57.723 回答
2

我在构建我的 xcode 项目时也遇到了同样的问题 - “找不到构建输入文件:”原因:我重命名了我的整个项目,但没有重命名构建设置。解决方案:在我项目的build setting--> Packaging中,我更新了 info.plist 文件的路径。现在工作正常。

于 2020-10-05T21:38:42.540 回答
1
  • 转到项目导航器。
  • 点击项目。
  • 单击目标。
  • 转到构建设置。
  • 搜索前缀.pch。
  • 更改此文件的位置(输入更新的位置)。

这将解决我的问题。

于 2019-03-03T18:33:03.940 回答
1

swift文件也有同样的问题。选择无法识别的文件并使用Remove Reference选项删除。右键单击文件夹并再次添加文件。

于 2019-03-19T10:09:18.750 回答
1

当我使用“重构”重命名 ViewController 名称时出现此错误。视图控制器名称出现已更改,但旧引用仍然存在。

删除 派生数据清理构建文件夹对我有用。

以下是删除派生数据的方法:

文件>工作区设置>单击箭头并删除派生数据中的所有文件夹。

于 2019-05-03T06:04:10.873 回答
1

在某些情况下,如果您在Xcode 工作区中使用右键单击 -> 重构选项重构现有的ViewController文件或任何其他文件 ,然后打开,因为文件名未在原始位置更改但引用已更新,因此您需要还手动将旧文件更改为新名称。compiling this error will come

于 2019-08-05T17:39:25.580 回答
1

当我第一次从 Git 检查代码时,我遇到了几个 pod 文件的相同问题。更新 pod 文件解决了我的问题。

  1. 在终端窗口中打开项目文件夹
  2. 运行“pod 更新”
  3. 清理 XCode 并运行。
于 2019-09-15T11:12:54.987 回答
1

我只需要在 finder 中打开项目并将适当的文件拖放到项目文件夹中

于 2020-05-20T03:51:36.680 回答
1

找不到构建输入文件

如何解决这个问题?

我的方法:

  1. 1.从项目导航器->文件->将文件添加到Lowes->在Finder视图中,检查这个丢失的引用文件移动到哪个文件夹,如果有人出于某种原因移动它,请与您的团队成员核对。如果发生错误然后按照以下步骤

    2.从项目导航器中,直接点击导致问题的文件。这与XCode显示为错误未找到的文件相同。所以很明显这个文件已经丢失了引用,我们需要恢复它

    3.Swift小鸟文件夹图标显示为浅红色,表示丢失参考

    4.右键单击它并删除它

    5.下一步从项目导航器->文件->将文件添加到Lowes->查找器视图转到此引用文件移动到的文件夹,然后在弹出窗口中点击添加按钮

    6.现在,如果您查看 Project Navigator,此文件 swift 小鸟图标以鲜红色显示,但您还会在 Project Navigator 顶部发现一个同名的额外文件

    7.如果不将其移动到正确的文件夹,请确保您在正确的文件夹中有此文件

    8.现在右键删除最上面的冗余文件,这里不要选择“移动到垃圾箱”选项。只需选择“删除引用”选项

这解决了我的问题。

于 2020-07-04T14:44:38.957 回答
1

根据 Xcode 错误中提供的调整文件路径

于 2020-10-21T06:13:05.687 回答
1

就我而言,这是由于本地化。
这是修复它的方法。
如何本地化 iOS info.plist 文件中的字符串?

于 2021-04-30T03:08:09.313 回答
1

带有 Swift 包的项目更新

错误是如何发生的?

当我将 Swift Packages 导入我的项目时遇到了这个问题,但后来清理DerivedData以修复一个不相关的应用程序缓存问题。我现有的项目不是本地 Swift 包,而是 iOS 应用程序项目。

请注意,我们仍然可以在本地 Swift Package 项目中遇到相同的问题。

错误的原因是什么?

Swift 包被签出到子文件夹DerivedData中,并且不会从ModuleCache.noindex子文件夹中引用。因此,清理应用程序的文件夹DerivedDataDerivedData本身会破坏 Xcode for Swift Packages 中的依赖关系解析。

这是一个误导性的构建错误,因为您编写的应用程序代码或依赖关系解析图可能没有任何问题。唯一需要的是刷新依赖项。

如何解决构建错误?

Xcode 现在在 IDE 本身中有很好的选项来解析 Swift 包。这些选项会触发新的结帐到DerivedData

在此处输入图像描述

根据我们的用例,我们可以使用三个选项,如上图所示:

  1. Reset Package Caches:触发​​重新安装具有相同版本的现有包依赖项。
  2. Resolve Package Versions:在修复包版本以实现交叉兼容性(在项目设置中)时,使用此选项更新包签出。
  3. Update to Latest Package Versions:使用它来将所有 Swift Package 依赖项更新到最新版本。如果 API 更改,此选项可能是本地重大更改。

注意:Apple 的文档建议在处理不包括 CLT 的 Xcode 项目时使用 Xcode 进行依赖关系解析。

其他解决方案

  1. 我们也可以通过重新启动 Xcode 来修复错误,但是我发现这一步会破坏我的工作流程并且很乏味。

  2. 如果我们从命令行运行(本地 Swift Package 可执行文件),我们可以坚持使用一个swift build变体,而根本不跳转到 Xcode(Source)。swift build然而,在其他项目中开箱即用并不容易。

  3. 使用xcodebuild

    xcodebuild -resolvePackageDependencies
    

为了简单起见,我更喜欢留在 Xcode 中,但 YMMV。

于 2021-08-28T12:37:33.663 回答
0

我的问题是缺少 SettingsController 文件。

我将一个文件从 projectA 复制到 projectB 但忘记打勾Copy items if needed。几周后我不知道,当我删除 projectA 时,projectB 中的 SettingsController 文件也被删除了。之后在 projectB 中Build input file cannot be found ... path/Folder/toSomeFile显示了错误。

为了修复它,我关闭了 Xcode,转到它所在的主文件夹,打开文件夹并右键单击带有扩展名的蓝色.xcodeprojXcode 图标,然后我选择Show Package Contents

在此处输入图像描述

从那里我双击project.pbxproj图标

在此处输入图像描述

打开project.pbxproj文件后,我按了command+f并在搜索字段中输入了错误的路径部分path/Folder/toSomeFile

我花了 1-2 行看起来像这样的代码

在此处输入图像描述

一旦我删除了这 1-2 行,当我回到 projectB 并打开它时,错误就消失了。

只是为了更清楚一点,错误的确切路径是whogotgame_42/whogotgame/Controllers/SettingsController.swift. 这就是我在project.pbxproj搜索字段中准确输入的内容,以获取您在图片中看到的那 1-2 行。

于 2021-11-24T01:45:56.067 回答
-1

您可以使用 $(INFOSTRINGS_PATH)

它是捆绑文件路径。指定包含捆绑包的本地化字符串文件的文件。

于 2021-09-14T11:39:00.170 回答