【发布时间】:2017-02-13 19:02:06
【问题描述】:
问题在于,在 XCode 8 中构建 Swift 应用程序时,源文件编译速度很快,但复制 Swift 标准库 占了上风 - 该阶段可以运行几分钟(通常整个构建大约需要 4-5 分钟,最坏的情况已经超过 10 分钟——过去不到一分钟)。
此外,存档导出的签名阶段非常缓慢,有时需要将近半个小时(同样,过去非常快)。
我已经在网上搜索了几天的答案,无数次重新安装 XCode,尝试了新的 Swift 工具链,尝试打开/关闭 Sierra 的 iCloud Drive(派生文件夹仍然需要隐藏),尝试了所有构建设置任何人,以及他们的母亲,都推荐过,制作了许多新的空白项目,并且失去了所有希望......
所以我的问题是,我怎样才能使它正常?
编辑: 我的 Mac 钥匙串 中还有 867 Apple ID 密钥(相同数量的 pub-s 和 priv-s 以及随附的证书) -这个问题有可能与它有关吗?花费大量时间浏览它们并找到正确的签名?
【问题讨论】:
-
我不知道这是否适用于你,但无论如何避免缓慢的编译时间是一个很好的建议:在你的代码库中,寻找“复杂”的表达式(例如毛茸茸的单行)并打破使用临时变量将它们分解为几个表达式。如果你有字典字面量,通过自己声明类型来帮助编译器(通常最好使用类型推断,但在这种情况下,最好显式给出类型),这将简化编译器的任务。
-
感谢 Eric 的提示,它们总是有用的。我正在使用BuildTimeAnalyzer 仔细检查我的代码,这样就没有长时间编译源代码(最长为 61.8 毫秒,总共有 ~20 个函数编译时间超过 10 毫秒)。
-
这适用于 Xcode 8.3 swift 3.1 - stackoverflow.com/a/40497873/1890317
-
谢谢杰拉德,这与下面的答案相同。