“无法找到构建输入文件”Swift 4.2,Xcode 10.0

在使用 Swift 4.2构建 Xcode 10.0时,我得到了以下错误:

This is the error

118245 次浏览

当我将 Info.plist 移动到一个文件夹中时,出现了这个错误。

当我将 Info.plist 从文件夹中取出时,不再出现错误。

将生成设置更改为“遗留”

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

  2. 然后转到 文件 > 专案设定..。

  3. 在每个用户项目设置中将“生成系统”更改为“遗留生成系统”:

enter image description here

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

在中间窗格中,单击 target 单击顶部的蓝色常规选项卡 按/目标 点击[选择 info.plist 文件]按钮 in pop-up window, select the info.Plist file

在检查器周围移动文件夹可能会导致错误“ Build input file can not be found”

SWIFT 5

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

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

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

enter image description here

SWIFT 4

要修复这个问题,请转到常规选项卡并在 Identity 下重新选择您喜欢的 info.plist

enter image description here

enter image description here

希望这个能帮上忙

如果你得到“构建输入文件无法找到错误消息”,并且在检查器中有红色的文件,那么这种方法是有效的:

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

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

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

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

这招对我很管用。在我得到错误信息之前,我正在重新组织文件检查器中的文件,它给了我错误信息,并使我移动的文件变成红色。希望这个能帮上忙!

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

步骤1: 从 BuildPhases-> Copy Bundle resources 中删除“ Build input files can not be found”文件并将它们添加回来对我来说很有效。

如果上面的步骤1不起作用,在项目结构中搜索“恢复的引用”文件夹,删除导致这个问题的文件,然后重复步骤1

  • Goto 项目导航员。
  • 点击项目。
  • 点击目标。
  • Goto Build 设置。
  • 搜索 Prefix.pch。
  • 更改此文件的位置(输入更新的位置)。

这会解决我的问题。

在处理快速文件时也遇到了同样的问题。选择无法识别的文件并使用 Remove Reference选项删除。在文件夹中右键单击并再次添加文件。

选择 general tab,并在 Identity 下选择您希望用于开发的 info.plist

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

对此的一个快速修复方法是右键单击该文件,然后选择 Show in Finder,然后将该文件拖动到 Xcode 所期望的正确路径。

当我使用“ Refactor”重命名 ViewController 名称时,出现了这个错误。视图控制器名称发生了更改,但旧的引用仍然存在。

删除 派生数据Clean build folder对我来说很有效。

Here's how to delete Derived data:

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

找不到生成输入文件

How To fix This issue :

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

  2. 选择“生成阶段”选项卡

  3. 在“编译源”部分中,检查 Xcode 需要的文件

  4. Notice that the file(s) have the wrong path, and delete them by clicking on the minus icon

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

  6. 产品 > 清洁生成文件夹

  7. Build

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

我用以下方法解决了这个问题:

  • 在 Project 导航器中选择项目目标,
  • Go to Build Phases tab
  • 在“编译源”部分中,检查编译器要求的文件。您可以根据屏幕右上角的名称进行筛选。
  • 已删除的文件仍在列表中,路径错误,请单击减号图标删除该文件。你必须为你所有的目标这么做。
  • 如果您仍然使用该文件,请通过单击加号图标将其添加到新路径上。
  • 清除“产品”菜单中的“生成”文件夹。

现在应该可以了

(Objective-C Project/Xcode Version 10.2.1(10E1001))

在我的例子中,当我使用 重构重命名 ViewController 名称时,我得到了这个错误。视图控制器名称发生了更改,但实际文件没有更改。

我试着按@ajji 说的做,但是没有用。所以我改了真正文件的名字。在那之后,一切都很顺利

For me something totally different worked:

转到 目标 > 建立设定 > 架构

My valid architectures before: arm64 arm64e armv7 armv7s (Defaults)

改为: < strong > armv7 i386 arm64 armv7

我尝试在 Build Phases选项卡中转到 Compile Sources,删除并重新添加选中的文件(清理并重新构建) ,但是没有用: (相反,如果你得到‘ Build input file can not be found’错误消息,下面的答案对我很有用:

  1. 在 Xcode 中删除受影响的文件(我在 Navigator 中右键单击-> Delete’d)
  2. 重新添加受影响的文件(我的文件是 .mlmodel) ,并在 Destination 下面选择了“ Copy item if need”。
  3. 清洁 Cmd-shift-k,然后建造 Cmd-b 瞧! 文件被识别出来,错误消失了!

希望这个能帮上忙!

在某些情况下,如果你 重构你现有的 ViewController文件或任何其他文件使用 右击-> 重构选项内的 < em > Xcode workspace 然后在 compiling this error will come因为文件名没有改变在原来的地方,但引用更新,所以在这里你还需要手动更改旧文件到新的名称。

当我第一次从 Git 签出代码时,我遇到了几个 pod 文件的同样问题。更新分离舱文件解决了我的问题。

  1. 在终端窗口中打开项目文件夹
  2. 运行‘ pod update’
  3. 清除 XCode 并运行。

For me this worked:

单击 TARGETS下的应用程序名称

Build Settings -> Packaging -> Info.plist File

There change the file location of the Info.plist File to the new location.

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

enter image description here

如果您的文件(s)-,无法找到-图标的颜色是苍白的。你右键点击它,“显示在查找器”不会打开查找器。这意味着您的文件名与您在导航器中看到的不同。 How icons of your files show in normal and pale mode

若要解决此问题,请访问文件所在的位置,并将其名称更改为与您在“导航器”中看到的相同。

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

找不到生成输入文件

如何解决这个问题?

My Approach:

  1. 1.在 Project Navigator-> Files-> Add Files to Lowes-> In Finder View 中,检查丢失的引用文件移动到了哪个文件夹 并询问你的团队成员是否有人因为某种原因移动了它,如果是错误的话 然后按照下面的步骤

    2.从 Project 导航器中,直接点击导致问题的文件。XCode 显示的文件与未在 错误。所以很明显,这个文件已经丢失了引用,我们需要 把它恢复原状

    3. 雨燕文件夹图标出现在浅红色,这是一个指示丢失的参考

    4. 右键单击它,然后删除它

    5.接下来,从项目导航器-> 文件-> 添加文件到劳斯-> 查找器视图到文件夹中,这个文件被移动到 点击弹出窗口中的 ADD 按钮

    6.现在,如果你看项目导航器这个文件迅捷鸟图标出现在明亮的红色,但你也会发现一个额外的文件 在项目导航器的顶部有相同的名字

    7.Make sure you have this file in the right folder if not move it to right folder

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

这解决了我的问题。

在另一个文件夹中移动 Info.plist时最常见的错误。 要修复这个错误,您可以选择 Info.plist 并从文件检查器中选择 与工程项目有关

enter image description here

下一步,转到 Build settings并搜索 Info.plist并修复文件路径。

enter image description here

在构建我的 xcode 项目时,我也面临同样的问题——“构建输入文件无法找到:” Cause: I renamed my entire project but not the build setting. 解决方案: 在我的项目的 建筑环境-> 包装中,我更新了 info.plist 文件的路径。

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

如果一切都失败了:

  1. In Xcode. Remove references of files in question from your project.
  2. Open your project.pbxproj file as a file in Xcode. This is in .xcodeproj
  3. 删除包含所述文件名的所有行。保存。
  4. 回到 Xcode 把文件重新添加到你在 Xcode 的项目中。

在我的情况下,这是由于本地化。
以下是解决方法。
如何在 iOS info.plist 文件中定位字符串?

更新项目 w/Swift 软件包

错误是如何发生的?

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

Note that we can still encounter the same issue in local Swift Package projects.

What is the reason for the errors?

快速软件包签出到 DerivedData,并且不从 ModuleCache.noindex子文件夹引用。因此,在 DerivedDataDerivedData中清理应用程序的文件夹会破坏快速软件包的 Xcode 中的依赖解析。

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

如何解决生成错误?

Xcode 现在在 IDE 本身内部有很好的选项来解析 Swift 软件包。这些选项触发到 DerivedData的新结帐:

enter image description here

我们可以使用三个选项,如上图所示,这取决于我们的用例:

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

注意 : 当使用 Xcode 项目(不包括 CLT)时,Apple 的文档 建议使用 Xcode 进行依赖解析。

Other solutions

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

  2. 如果我们从命令行(本地 Swift 包可执行文件)运行,我们可以坚持使用 swift build变体,而不必跳转到 Xcode (来源)。然而,在其他项目中,swift build不能轻松地开箱即用。

  3. 使用 xcodebuild:

    xcodebuild -resolvePackageDependencies
    

我更喜欢呆在 Xcode,因为这里很简单,但是 YMMV。

可以使用 $(INFOSTRING _ PATH)

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

我的问题是缺少一个 SettingsController 文件。

I copied a file from projectA to projectB but forgot to tick Copy items if needed. Unbeknownst to me a couple of weeks later when I deleted projectA the SettingsController file in projectB got deleted along with it. Afterwards in projectB the error Build input file cannot be found ... path/Folder/toSomeFile was shown.

为了解决这个问题,我关闭了 Xcode,进入它所在的主文件夹,打开文件夹,右键点击扩展名为 .xcodeproj蓝色 Xcode 图标,然后选择 Show Package Contents

enter image description here

从那里我双击 project.pbxproj图标

enter image description here

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

它让我看到了1-2行这样的代码

enter image description here

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

只是为了更清楚一点,错误的确切路径是 whogotgame_42/whogotgame/Controllers/SettingsController.swift。这就是我在 project.pbxproj搜索框中输入的内容,来得到你们在图片中看到的1-2条线。

I got this error when I put the Info.plist file inside a folder. Then when I extracted the file to public view, the error went away.