<unknown>:0: error: unexpected input file:

<unknown>:0: error: unexpected input file:

我从一个单独的 Stack OverFlow post 下载文件,并将文件夹拖到我的项目中(作为一个组。)依赖关系得到解决,并且它没有显示依赖于这些文件的代码的错误,但是当我尝试编译时出现此错误:

<unknown>:0: error: unexpected input file: /.../xyz.Swift
Command /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc failed with exit code 1

可能没什么,但项目导航器中的文件本身显示为空白图标(而我项目的其他文件有 swift 红色 spalsh 图标)尽管签入为 swift 文件在属性检查器中。

我在添加和删除多组文件方面摸索了几次,我检查了本地目录,似乎没有任何问题...是否有其他问题可能会导致混乱?

感谢您的建议!

我以前没见过这么精确的错误,但不要通过 Finder 添加文件。重新开始,这次使用 Xcode 'File' 菜单中的 'New' -> 'File...'。它必须更新其内部清单以跟踪所有项目文件;你不想颠覆这个过程。

之后您可能仍然需要在重新构建之前执行 'Clean',并且可能还删除所有 DerivedData 而 Xcode 不是 运行:

How can I safely delete in my ~/Library/Developer/Xcode/DerivedData directory?

已解决 - 问题与文件扩展名有关:

xyz .Swift 不会正常 link。它将由 xcode 处理并解决期望它的代码问题,但是 linker 会打嗝。

将文件重命名为 xyz 。swift -> 问题已解决。

在我的例子中,它是在以一种它不喜欢的方式删除编译器标志之后。尝试在编译器开始表现怪异之前弄清楚您在编译器设置中更改了什么。有时因为 Xcode 缓存编译后的代码,问题不会在更改后立即出现!