使用 swift 4.2 在 Xcode 10.0 中构建时出现以下错误:
30 回答
在检查器周围移动文件夹可能会导致错误“找不到构建输入文件”
斯威夫特 5
在 Swift 5 中,出现了错误,但身份显示没有错误。
- 进入构建设置并选择打包。
- 删除 Debug 和 Release 的当前路径并输入保存 info.plist 的新路径。
例如 [APPROJECTNAME]/[THEINFOPLISTFOLDER]/info.plist 在下面的截图中,路径是 API-client/Resources/info.plist
斯威夫特 4
要修复它,请转到常规选项卡并在身份下重新选择您喜欢的 info.plist
我希望这有帮助
找不到构建输入文件
如何解决此问题:
进入项目导航器,选择你的项目
选择构建阶段选项卡
在 Compile Sources 部分,检查 Xcode 要求的文件
请注意文件的路径错误,然后单击减号图标将其删除
通过单击加号图标并在项目中搜索来重新添加文件。
产品 > 清洁构建文件夹
建造
解决 project.pbxproj 中的冲突后,我遇到了这个问题。
第 1 步:从 BuildPhases -> Copy Bundle 资源中删除“找不到构建输入文件”文件并将它们添加回来对我有用。
如果上述步骤 1 不起作用,请在项目结构中搜索“Recovered References”文件夹并删除导致此问题的文件并重复步骤 1
对于缺少构建文件,即 info.Plist :在项目导航器下,选择(单击)项目名称和图标,
在中间窗格中,单击目标单击顶部的蓝色常规选项卡单击/目标单击弹出窗口中的[Choose info.plist File]按钮,选择info.Plist文件
在将项目克隆到新文件夹后找不到丢失的视图控制器文件,我遇到了同样的问题。我删除了视图控制器,但编译器继续要求一个不再存在的路径中的文件。
我解决了如下问题:
- 在 Project-navigator 中选择项目目标,
- 转到构建阶段选项卡
- 在 Compile Sources 部分,检查编译器要求的文件。您可以按屏幕右上角的名称进行过滤。
- 删除的文件仍在列表中,路径错误,请单击减号图标将其删除。你必须为你可能拥有的所有目标做这件事。
- 如果您仍在使用该文件,请单击加号图标将其添加到新路径中。
- 在产品菜单中清理构建文件夹。
它现在应该可以工作了:D
(Objective-C 项目/Xcode 版本 10.2.1 (10E1001))
如果您收到“无法找到构建输入文件错误消息”并且检查器中的文件为红色,则此方法有效:
在 Finder 中打开您的项目文件夹
将受影响的文件复制到桌面上
删除 Xcode 中受影响的文件,然后关闭 Xcode
重新打开 Xcode 并将复制的文件拖到 Xcode 项目中
这对我有用。在收到错误消息之前,我正在文件检查器中重新组织文件,这给了我错误消息并使我正在移动的文件变成红色。希望这可以帮助 !!
当我将 Info.plist 移动到文件夹中时出现此错误。
当我从文件夹中取出 Info.plist 时,我不再收到错误消息。
选择常规选项卡并在身份下选择您想要用于开发的 info.plist
我尝试进入Compile Sources选项Build Phases卡并删除并重新添加所选文件(以及清理和重建)但它不起作用:(相反,如果您收到“无法找到构建输入文件”,则以下答案对我有用错误信息:
- 在 Xcode 中删除受影响的文件(我在导航器中右键单击->删除)
- 重新添加受影响的文件(我的文件是
.mlmodel),然后我在目标下选择了“如果需要,复制项目”。 Cmd-shift-k清洁,然后Cmd-b建造,瞧!该文件已被识别并且错误消失了!
希望这可以帮助!
就我而言,当我使用Refactor重命名 ViewController 名称时出现此错误。视图控制器名称出现已更改,但实际文件未更改。
我试图按照@ajji 所说的去做,但没有奏效。所以我更改了真实文件的名称。在那之后,一切都像魅力一样
如果一切都失败了:
- 在 Xcode 中。从您的项目中删除相关文件的引用。
- 在 Xcode 中将 project.pbxproj 文件作为文件打开。这是在 .xcodeproj
- 删除包含所述文件名称的所有行。节省。
- 回到 Xcode。在 Xcode 中将文件重新添加到您的项目中。
在我的情况下,文件不在正确的路径中,Xcode 期望在类似的路径中找到输入文件,/Users/Malloc/Projects/MyProject/Info.plist而实际上该文件位于不同的路径中,例如/Users/Malloc/Projects/MyProject/Subfolder/Info.plist.
对此的快速解决方法是简单地右键单击文件然后选择Show in Finder,然后将文件拖到 Xcode 期望的正确路径。
我在构建我的 xcode 项目时也遇到了同样的问题 - “找不到构建输入文件:”原因:我重命名了我的整个项目,但没有重命名构建设置。解决方案:在我项目的build setting--> Packaging中,我更新了 info.plist 文件的路径。现在工作正常。
- 转到项目导航器。
- 点击项目。
- 单击目标。
- 转到构建设置。
- 搜索前缀.pch。
- 更改此文件的位置(输入更新的位置)。
这将解决我的问题。
swift文件也有同样的问题。选择无法识别的文件并使用Remove Reference选项删除。右键单击文件夹并再次添加文件。
当我使用“重构”重命名 ViewController 名称时出现此错误。视图控制器名称出现已更改,但旧引用仍然存在。
删除 派生数据和清理构建文件夹对我有用。
以下是删除派生数据的方法:
文件>工作区设置>单击箭头并删除派生数据中的所有文件夹。
在某些情况下,如果您在Xcode 工作区中使用右键单击 -> 重构选项重构现有的ViewController文件或任何其他文件 ,然后打开,因为文件名未在原始位置更改但引用已更新,因此您需要还手动将旧文件更改为新名称。compiling this error will come
当我第一次从 Git 检查代码时,我遇到了几个 pod 文件的相同问题。更新 pod 文件解决了我的问题。
- 在终端窗口中打开项目文件夹
- 运行“pod 更新”
- 清理 XCode 并运行。
我只需要在 finder 中打开项目并将适当的文件拖放到项目文件夹中
找不到构建输入文件
如何解决这个问题?
我的方法:
1.从项目导航器->文件->将文件添加到Lowes->在Finder视图中,检查这个丢失的引用文件移动到哪个文件夹,如果有人出于某种原因移动它,请与您的团队成员核对。如果发生错误然后按照以下步骤
2.从项目导航器中,直接点击导致问题的文件。这与XCode显示为错误未找到的文件相同。所以很明显这个文件已经丢失了引用,我们需要恢复它
3.Swift小鸟文件夹图标显示为浅红色,表示丢失参考
4.右键单击它并删除它
5.下一步从项目导航器->文件->将文件添加到Lowes->查找器视图转到此引用文件移动到的文件夹,然后在弹出窗口中点击添加按钮
6.现在,如果您查看 Project Navigator,此文件 swift 小鸟图标以鲜红色显示,但您还会在 Project Navigator 顶部发现一个同名的额外文件
7.如果不将其移动到正确的文件夹,请确保您在正确的文件夹中有此文件
8.现在右键删除最上面的冗余文件,这里不要选择“移动到垃圾箱”选项。只需选择“删除引用”选项
这解决了我的问题。
根据 Xcode 错误中提供的调整文件路径
就我而言,这是由于本地化。
这是修复它的方法。
如何本地化 iOS info.plist 文件中的字符串?
带有 Swift 包的项目更新
错误是如何发生的?
当我将 Swift Packages 导入我的项目时遇到了这个问题,但后来清理DerivedData以修复一个不相关的应用程序缓存问题。我现有的项目不是本地 Swift 包,而是 iOS 应用程序项目。
请注意,我们仍然可以在本地 Swift Package 项目中遇到相同的问题。
错误的原因是什么?
Swift 包被签出到子文件夹DerivedData中,并且不会从ModuleCache.noindex子文件夹中引用。因此,清理应用程序的文件夹DerivedData或DerivedData本身会破坏 Xcode for Swift Packages 中的依赖关系解析。
这是一个误导性的构建错误,因为您编写的应用程序代码或依赖关系解析图可能没有任何问题。唯一需要的是刷新依赖项。
如何解决构建错误?
Xcode 现在在 IDE 本身中有很好的选项来解析 Swift 包。这些选项会触发新的结帐到DerivedData:
根据我们的用例,我们可以使用三个选项,如上图所示:
- Reset Package Caches:触发重新安装具有相同版本的现有包依赖项。
- Resolve Package Versions:在修复包版本以实现交叉兼容性(在项目设置中)时,使用此选项更新包签出。
- Update to Latest Package Versions:使用它来将所有 Swift Package 依赖项更新到最新版本。如果 API 更改,此选项可能是本地重大更改。
注意:Apple 的文档建议在处理不包括 CLT 的 Xcode 项目时使用 Xcode 进行依赖关系解析。
其他解决方案
我们也可以通过重新启动 Xcode 来修复错误,但是我发现这一步会破坏我的工作流程并且很乏味。
如果我们从命令行运行(本地 Swift Package 可执行文件),我们可以坚持使用一个
swift build变体,而根本不跳转到 Xcode(Source)。swift build然而,在其他项目中开箱即用并不容易。使用
xcodebuild:xcodebuild -resolvePackageDependencies
为了简单起见,我更喜欢留在 Xcode 中,但 YMMV。
我的问题是缺少 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 行。
您可以使用 $(INFOSTRINGS_PATH)
它是捆绑文件路径。指定包含捆绑包的本地化字符串文件的文件。












