Xcode 8.3 Indexing&建设速度极慢

时间:2017-07-24 17:45:01

标签: ios swift xcode compiler-errors

我在这里阅读了很多关于这个问题的类似帖子之后发布了这个帖子,没有一个解决方案对其他人不起作用......

  • Xcode版本8.3.3(8E3004b)

  • Swift 3.1

我尝试过的事情

  • 删除派生数据文件夹
  • 删除工作区文件
  • 清理构建文件夹
  • 清洁构建
  • 重新安装Xcode(完全删除后)

我也寻找Swift问题:

  • 删除了所有连接字符串
  • 清理Swift数组和词典
  • 添加了整个模块优化

这一切都是在上次Xcode更新8.3后发生的。 3 。我的项目在几秒钟内编译完成,现在我必须等待至少15分钟才能进行索引,然后在我改变所有内容后编译5分钟,即使代码中的内容很小。

构建时,它会陷入“编译Swift源文件”。有没有办法让我看看它实际上被卡住的地方?

BIG UPDATE

我几乎尝试了一切。阅读每篇文章,帖子等。没有工作。我的项目是在10.0之后创建的。

解决方案 创建一个新项目并复制每个文件!它过去需要8-9分钟才能建成。现在不到2秒!

2 个答案:

答案 0 :(得分:2)

解决这个问题的最佳方法是在编译代码时找出构建正在做什么。这是一个非常有用的工具:https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode

当您运行此工具时,它将向您显示编译时间最长的方法,然后您修复这些方法。完成后,您还可以尝试我在此处给出的答案,以减少构建时间:Extremely long compilation times with Swift in Xcode

答案 1 :(得分:2)

Apple知道这个问题,并说Xcode 9 beta会表现得更好。请注意,如果您不想更新到Swift 4,可以使用Xcode 9继续在Swift 3模式下进行编译。最大的限制是,在Xcode 9进入最终版之前,您将无法将项目提交到App Store

此外,Xcode 9包含一个新的构建系统。默认情况下你没有得到它:你必须为这个项目打开它。选择文件>项目设置并将弹出菜单切换到新建系统(预览)。这是实验性的,但它最终将成为默认的构建系统,因此知道这是否会产生明显的差异会很有趣。

如果您不想更新到Xcode 9 beta,您只需要进行二分查找:注释掉所有代码并开始逐个添加,直到找到导致问题的那个部分为止。