解决 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新知",每天准时分享一个新知识,这里只是同步,想要及时学到就来关注我吧!

相关推荐
叽哥1 小时前
flutter学习第 13 节:本地存储
android·flutter·ios
AD钙奶-lalala3 小时前
iOS 编译 cpp 代码生成 .a 库备忘
ios
AD钙奶-lalala5 小时前
导入文件到iPhone实现
ios·iphone
zeqinjie20 小时前
回顾 24年 Flutter 骨架屏没有释放 CurvedAnimation 导致内存泄漏的血案
前端·flutter·ios
HarderCoder1 天前
Swift 结构体属性:let 与 var 的选择艺术
swift
HarderCoder1 天前
使用 Swift 的 defer 管理状态清理(译文)
swift
HarderCoder1 天前
把 GPT 塞进 iPhone:iOS 26 的 Foundation Models 框架全解析
swift
HarderCoder1 天前
用 SwiftUI 打造“会长大”的组件 —— 从一次性 Alert 到可扩展设计系统
swift
鹏多多1 天前
flutter-使用SafeArea组件处理各机型的安全距离
前端·flutter·客户端
叽哥1 天前
flutter学习第 12 节:网络请求与 JSON 解析
android·flutter·ios