【问题标题】:XCode Swift autocomplete breaks down after buildXCode Swift 自动完成功能在构建后崩溃
【发布时间】:2016-08-04 21:44:02
【问题描述】:

我有一个项目,两年前以 Obj-C 开始,但最近添加了许多 Swift 2.0。目前这一比例约为 75%/25%,有利于 Obj-C,但正在向 Swift 增长。

在旧项目中很常见,对吧?这就是问题所在:从 XCode 7.3 开始,我无法让代码完成在 Swift 中正常工作。

我采取以下步骤:

  • 关闭 Xcode
  • 终端 -> rm -rf ~/Library/Developer/Xcode/DerivedData/*
  • 终端 -> rm -rf ~/Library/Caches/com.apple.dt.Xcode

一切都很好。但是,一旦我完成了 XCode 项目的完整构建,问题就回来了,而且 Swift 不会完成代码,直到我再次删除派生数据(手动或通过 XCode)并重新索引所有文件。

Objective-C 确实完成了,默认的和手动创建的宏也仍然有效。只是索引似乎坏了。

请问,有没有人听说过这种行为并知道解决方法? 必须手动输入所有内容是很好的 Swift 培训,但我的一些方法有多个块参数,写出来会很痛苦。

如果这很重要,我一直在较新的类中使用 Swift 2.0 到 2.2 的语法。

【问题讨论】:

  • 您的应用程序是否构建和运行?如果是这样,您能否将问题简化为一个小型演示项目?如果是这样,请向 Apple 提交错误报告!
  • 这种情况经常发生。 Swift 的开发工具简直糟透了。
  • 你的桥接头中有很多文件吗?
  • 很多很多很多很多很多。我发现这也是它的原因;我分解了项目的一部分,它似乎工作正常,但是当我连接额外的 75% 代码时,语法突出显示消失了。不幸的是,有很多必需的依赖项;唯一的选择是重写大部分写回Objective-C的代码,这样我就可以删除很多依赖项。这不是一个真正的选择。

标签: ios objective-c swift swift2 xcode7


【解决方案1】:

您是否检查过您的部署目标?我发现它总是在10.12 上工作:

【讨论】:

  • 嘿,Base SDK 是最新的,但是对于这个项目,我们仍然支持 iOS 9.0。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-10
  • 2015-01-25
  • 2023-04-01
  • 2015-06-14
  • 1970-01-01
  • 2013-08-24
相关资源
最近更新 更多