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

相关推荐
Haha_bj5 小时前
Swift ——详解Any、AnyObject、 AnyClass
ios·swift
Haha_bj6 小时前
Swift 中的async和await
ios·swift
2501_915106329 小时前
iOS 抓不到包怎么办?从 HTTPS 代理排查到 TCP 数据流捕获的全链路解决方案
android·tcp/ip·ios·小程序·https·uni-app·iphone
游戏开发爱好者89 小时前
APP上架苹果应用商店经验教训与注意事项
android·ios·小程序·https·uni-app·iphone·webview
张飞签名上架9 小时前
苹果TF签名:革新应用分发的解决方案
人工智能·安全·ios·苹果签名·企业签名·苹果超级签名
WXG101111 小时前
【Flask-7】前后端数据交互
python·ios·flask
笑尘pyrotechnic12 小时前
手势识别器内容
ios·objective-c
他们都不看好你,偏偏你最不争气12 小时前
【iOS】SDWebImage解析
macos·ios·objective-c·cocoa·sdwebimage
Digitally13 小时前
如何从iPhone切换到Android
android·ios·iphone
2501_9160074713 小时前
苹果应用商店上架的系统逻辑,从产品开发到使用 开心上架 上架IPA 交付审核流程
android·ios·小程序·https·uni-app·iphone·webview