解决 Xcode 烦人错误:"Build input file cannot be found" 一招搞定!

这里每天分享一个 iOS 的新知识,快来关注我吧

前言

在使用 Xcode 开发时,你可能会遇到一个令人头疼的错误提示:"Build input file cannot be found"。这种情况通常出现在项目的某些文件路径发生变动之后。

导致这个问题的因素有很多,今天我想分享一种我解决这个问题的方法,希望能帮助到你。

问题的产生原因

这个错误在我处理 project.pbxproj 文件中的合并冲突时经常出现。特别是在项目结构发生变化时,你可能会发现一些类似这样的冲突:

arduino 复制代码
A000701D256E5ADF009F48A4 /* UsageDetailViewModelTests.swift in Sources */,
17E973942505E3EA0084D10D /* MainTabBarViewModelTests.swift in Sources */,
174BF411251C9C1E00FE6214 /* CommonNotificationIconViewTests.swift in Sources */,
=====
NOT_A000701D256E5ADF009F48A4 /* UsageDetailViewModelTests.swift in Sources */,
NOT_17E973942505E3EA0084D10D /* MainTabBarViewModelTests.swift in Sources */,
NOT_174BF411251C9C1E00FE6214 /* CommonNotificationIconViewTests.swift in Sources */,

虽然手动解决这些冲突的方法有很多,但我通常会选择快速又简单的方法,要么选择其中一个,要么同时保留两个。手动操作项目结构可能会导致项目结构损坏,这就是我们今天要解决的错误的原因。

"Build input file cannot be found" 错误的解决方案

  1. 打开"项目导航器":在 Xcode 菜单中选择 View > Navigators > Project,或者使用快捷键 ⌘ + 1。

  2. 查找"Recovered References"组:在项目导航器中,Xcode 可能会为你生成一个名为"Recovered References"的组。如果你的项目比较大,可以在导航器底部输入"Recovered References"来进行过滤。

  1. 处理红色文件:在这个组中,你会看到那些在"Build input file cannot be found"错误中提到的文件。通常,你需要删除所有显示为红色的文件,因为这些文件代表 Xcode 无法找到它们在 target 路径中的引用。

  2. 重新添加文件:下一步,你需要重新将这些文件添加到项目中,让 Xcode 重新构建索引,以便 Xcode 知道应该在哪里找到这些文件。

Xcode 9 中的 Recovered References

在 Xcode 9 中,当项目被打开时,Xcode 可能会在项目导航器中创建一个 Recovered References 组。这个组包含了那些在目标中引用但在项目的组树中没有引用的文件。如果出现这个组,就说明 Xcode 无法找到这些文件在 target 路径中的引用。

希望通过以上步骤,你能够解决 Xcode 中的"Build input file cannot be found"错误。

如果你的项目中还有其他问题,可能需要进一步检查项目配置和文件路径。

如果你有其他的解决方案,也欢迎在评论区分享。

这里每天分享一个 iOS 的新知识,快来关注我吧

本文同步自微信公众号 "iOS新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
pop_xiaoli8 小时前
【iOS】autoreleasePool
ios·objective-c·cocoa
秋雨梧桐叶落莳10 小时前
iOS——ZARA仿写项目
学习·macos·ios·objective-c·cocoa
人月神话Lee10 小时前
【图像处理】二值化与阈值——从灰度到黑白的决策
ios·ai编程·图像识别
美狐美颜SDK开放平台13 小时前
美颜SDK接入流程详解:Android、iOS、鸿蒙兼容方案解析
android·人工智能·ios·华为·harmonyos·美颜sdk·视频美颜sdk
90后的晨仔14 小时前
Combine 操作符 —— 打造强大的数据处理管道
ios
90后的晨仔14 小时前
Combine 高级操作符:掌控数据流的节奏与方向
ios
90后的晨仔14 小时前
Combine 与 SwiftUI 集成:构建响应式 UI 的黄金搭档
ios
2501_9160074715 小时前
Xcode支持的编程语言、主要功能及使用指南
ide·vscode·macos·ios·个人开发·xcode·敏捷流程
MonkeyKing17 小时前
iOS 深入理解 UIView 与 CALayer:关系、渲染流程与坐标系
ios
君子木17 小时前
解决ios App的webview不支持<video>标签行内播放的问题(点击播放按钮后会直接全拼播放)
ios