刚开始在Xcode上使用Swift。
出于某种原因,每当我想编译时,它都会显示错误:<unknown>:0: error: cannot load module 'main' as 'Swift'
我能找到的唯一解决方法是清理构建文件夹或自己删除构建文件夹,然后编译。
我的代码只是从更改而来
print("Hello, world!")
至
print("Hello, world")
我是不是做错了什么?
Xcode版本:12.1(12A7403(,带有Xcode 12.1工具链
编辑:
我创建的项目是一个命令行工具,选择Swift作为语言。所有其他设置都是默认的(至少我相信是这样(
此外,重新启动Xcode或创建一个新项目并不能解决问题。
发现问题可能是因为我有一个名为Swift
的项目。
不确定背后的确切原因,但名称Swift
可能造成了某些问题。
理想情况下,您正在做的事情根本不应该更改任何内容,因为您所做的只是更改一个字符串。我以前也遇到过这种情况,更改一些任意代码会极大地改变程序的编译,但通常在重新启动IDE或重写代码后就会消失。
我要检查的第一件事是你的项目名称:如果你的项目的名称是"main",编译器会将主模块与你的目标名称混淆(在这种情况下,你的目标名与你的项目名相同(
你可以做一些事情来排除故障:
- 完全重新启动Xcode并重新打开项目
- 删除该文件并创建一个具有相同代码的新文件
- 将代码更改回
print("Hello, World!")
,然后查看代码是否重新开始工作 - 如果以上选项不起作用,请尝试删除派生的数据文件夹(有时会出现问题,导致生成时错误(
- 如果删除派生数据不起作用,请打开一个新项目,再次尝试将
print("Hello, World!")
更改为print("Hello, World")
,然后查看是否有任何更改。您的初始项目中可能有一个损坏的文件。(根据您的问题,您似乎已经这样做了,但无论如何,请在删除派生数据后重试(