ios - Xcode 9 编译器卡在文件上,没有警告或错误

标签 ios xcode compiler-errors xcode9 swift4

背景:
尝试将大型 100k 代码库从 Swift 2.3 升级到 Swift 4。进展良好,修复了 ~1000 错误。然后,在将我们的一个 DTO 对象更改为使用 Any 之后而不是 AnyObject (因为我们不得不这样做),编译器开始挂起。

问题:
编译应用程序时会到达某个文件并卡住(即使在 24 小时后)。它没有被卡住,只是卡住了编译。我曾尝试临时删除该文件,但它只是卡在另一个文件上,依此类推。

研究与尝试
我已经阅读了编译器以及如何打开警告和标志。我试着看 -Xfrontend -debug-time-function-bodies-Xfrontend Xfrontend -warn-long-expression-type-checking但什么也没有出现。当我查看文件的构建脚本时,它卡在扩展的脚本中没有任何信息。

你知道我还能检查什么吗?我怀疑它与无法推断类型有关,因为有多少 Any我们有很多字典,但没有得到更好的信息,我不知道从这里去哪里。

你知道我怎样才能得到关于它为什么卡在这个文件上并且没有给出警告的信息吗?

最佳答案

跟进,花了几天时间,但通过首先转换为 Swift 3.2,然后转换为 Swift 4(注释掉大部分代码以便稍后解决),我能够让它在 Xcode 9 中编译。

关于ios - Xcode 9 编译器卡在文件上,没有警告或错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46712225/

相关文章:

ios - 同一应用程序的 2 个 ipa 文件(以获得更好的大小和性能)

iphone - 使用 NSMutableArray 将 NSDictionary 保存为 NSUserDefaults 的值

ios - Swift 4 - Xcode 9 beta 4 - NSKernAttributeName 与 NSAttributedStringKey

ios - UIPickerView 从 UISegmentedControl 更新

ios - 弹出 View 的坐标计算

compiler-errors - Azure Sphere代码拒绝编译。给出错误 "undefined reference to ` curl_easy_init'

c++ - C4800 错误,使用 Visual Studio 2013 编译

ios - 调用可以抛出,但是没有标记 'try' 错误没有处理: NSRegularExpression

iphone - @property (nonatomic, assign) id <IconDownloaderDelegate> 委托(delegate);

android - 在Eclipse上调试Android应用时出错