Ios Xcode 9编译器挂起在文件上,没有警告或错误
背景: 正在尝试将大型100k代码库从Swift 2.3升级到Swift 4。正在取得良好的进展,修复了约1000个错误。然后,在将一个DTO对象更改为使用Ios Xcode 9编译器挂起在文件上,没有警告或错误,ios,xcode,compiler-errors,xcode9,swift4,Ios,Xcode,Compiler Errors,Xcode9,Swift4,背景: 正在尝试将大型100k代码库从Swift 2.3升级到Swift 4。正在取得良好的进展,修复了约1000个错误。然后,在将一个DTO对象更改为使用Any而不是AnyObject(因为我们不得不这么做)之后,编译器开始挂起 问题: 编译时,应用程序将访问某个文件并卡住(即使在24小时之后)。它不是冻结的,只是被卡住了。我已经尝试删除该文件,但它只是卡在另一个文件上,依此类推 研究和尝试 我已经阅读了编译器以及如何打开警告和标志。我试着查看-Xfrontend-debug time函数体和
Any
而不是AnyObject
(因为我们不得不这么做)之后,编译器开始挂起
问题:
编译时,应用程序将访问某个文件并卡住(即使在24小时之后)。它不是冻结的,只是被卡住了。我已经尝试删除该文件,但它只是卡在另一个文件上,依此类推
研究和尝试
我已经阅读了编译器以及如何打开警告和标志。我试着查看-Xfrontend-debug time函数体
和-Xfrontend-Xfrontend-warn long expression类型检查
,但没有结果。当我查看文件的构建成绩单时,它被卡住了,扩展成绩单中没有任何信息
你知道我还能查什么吗?我怀疑这与它无法根据我们有多少填充的词典推断类型有关,但如果没有得到更好的信息,我不知道该从这里走到哪里
你知道我怎样才能得到信息,知道它为什么会被卡在这个文件上而没有给出警告吗?要跟进,花了好几天时间,但通过先转换到Swift 3.2,然后再转换到Swift 4(注释大部分代码以供以后解决),我能够让它在Xcode 9中编译。要跟进,花了好几天时间,但是,通过先转换到Swift 3.2,然后再转换到Swift 4(注释出以后要解决的大多数代码),我能够在Xcode 9中编译它。我怀疑Swift 4 migrator是否能够直接从Swift 2迁移到4。中的第一句话是确保要迁移的项目在Swift 3.2模式下成功生成。这意味着您应该首先更新到Swift 3I我做了一个到Swift 3的快速转换,但我把错误留在了。转换后,我用Swift 4打开了它。之后,我开始修正错误。根据你的建议,也许我应该在3.2中完全构建它。我将对此进行研究,谢谢。我怀疑Swift 4迁移器是否能够直接从Swift 2迁移到Swift 4。中的第一句话是确保要迁移的项目在Swift 3.2模式下成功生成。这意味着您应该首先更新到Swift 3I我做了一个到Swift 3的快速转换,但我把错误留在了。转换后,我用Swift 4打开了它。之后,我开始修正错误。根据你的建议,也许我应该在3.2中完全构建它。我会调查的,谢谢。