编译swift源文件时遇到问题

编译swift源文件时遇到问题,swift,xcode8,Swift,Xcode8,我一直在做我的项目,突然我不再编译了,它一直在等待编译swift源文件。。。我清理了项目,文件夹,删除了应用程序,什么都没有。有没有办法知道发生了什么?问题在dictionary[String:any]中,当我将dictionary更改为[String:String]时,问题就解决了。这很奇怪 有没有办法知道发生了什么 对。进入报告导航器,它是导航器窗格右上角的小语音气泡所选择的。它将为您提供一个列表,列出您执行的所有操作,如构建、测试和运行。当前版本将位于窗格顶部。点击它 在主编辑器中,您将看

我一直在做我的项目,突然我不再编译了,它一直在等待编译swift源文件。。。我清理了项目,文件夹,删除了应用程序,什么都没有。有没有办法知道发生了什么?

问题在dictionary[String:any]中,当我将dictionary更改为[String:String]时,问题就解决了。这很奇怪

有没有办法知道发生了什么

对。进入报告导航器,它是导航器窗格右上角的小语音气泡所选择的。它将为您提供一个列表,列出您执行的所有操作,如构建、测试和运行。当前版本将位于窗格顶部。点击它

在主编辑器中,您将看到顶部的一些按钮,可能还有一些消息。单击“所有消息”按钮,它将显示当前版本的树状视图。底线是构建系统现在正在做什么。如果未更改(即出现新行),则生成将被卡住

几乎可以肯定的是,底线将类似于
编译SomeFile.swift
。假设是,您现在可以对问题进行分类。Swift编译器通常在推断复杂表达式的类型时陷入困境。分类的方法是注释掉整个文件,然后添加行,直到问题再次出现。确保始终添加足够的备份,以便文件编译时不会出错


显然,您添加回的最后一行将是导致问题的那一行。通常是一个将字符串与非字符串连接在一起的表达式导致了问题。

Xcode的哪个版本?关闭Xcode并运行:
rm-frd~/Library/Developer/Xcode/DerivedData
,以清除DerivedDatadir@alejandro如果你有大的数组或字典文本,它有助于将它们分解为较小的文本,并在使用前重新组装:Swift编译器很容易被较大的文本阻塞。8.0、8.1、8.2、8.3?测试版?:)最好给出问题中的所有信息。可能是类型推断混淆了。嗨@JeremyP在我的例子中,我没有看到任何特定的文件名。我怎样才能确定是哪个文件引起了问题?@Bista很抱歉,如果没有更多的上下文,很难判断。也许你可以问一个新问题并发布你的构建日志。