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

相关推荐
UXbot2 小时前
AI App 设计生成工具哪个好?
ui·kotlin·软件构建·产品经理·ai编程·swift
FreeBuf_4 小时前
Coruna漏洞利用工具揭示Triangulation iOS攻击框架的演进
macos·ios·cocoa
2501_915918414 小时前
WebKit 抓包,WKWebView 请求的完整数据获取方法
android·前端·ios·小程序·uni-app·iphone·webkit
黄林晴5 小时前
Swift 杀进 Android,Google 和 Apple 都要失眠了?
android·前端·swift
东坡肘子5 小时前
一墙之隔,不同的时空 -- 肘子的 Swift 周报 #129
人工智能·swiftui·swift
ssshooter15 小时前
Tauri 2 iOS 开发避坑指南:文件保存、Dialog 和 Documents 目录的那些坑
前端·后端·ios
harder3211 天前
Swift 面向协议编程的 RMP 模式
开发语言·ios·mvc·swift·策略模式
leluckys1 天前
Jenkins CI/CD 持续集成专题十二、iOS-Jenkins自动化打包集成
ios·ci/cd·jenkins
leluckys1 天前
Jenkins CI/CD 持续集成专题八- jenkins 之 iOS 打包及上传至蒲公英
ios·ci/cd·jenkins