Xcode单元测试目标中没有代码完成或语法突出显示启用了"定义模块"

The*_*off 7 xcode unit-testing objective-c swift

由于Objective C和Swift的混合,我们有一个带有单元测试目标的项目,该目标启用了"定义模块".启用该设置后,语法突出显示和代码完成将停止所有非语言项.IE代码完成将列出语言级别的东西,如NS_ENUM和for循环,但不是NSString,而不是我们的任何类.

如果我创建一个新项目,将"定义模块"设置为YES,则会发生同样的事情.语法突出显示和代码完成在单元测试代码中失败,将其设置为NO它再次开始工作.

我们尝试了所有通常的方法来实现工作,删除"派生数据",选中/取消选中"键入时建议完成"和"启用类型完成",删除"〜/ Library/Caches/com.apple.dt .Xcode",删除var/folders /中的项目,在post构建阶段添加一些清理脚本,将主目标设置为"Defines Module",当然还有无休止的Xcode和macOS重启.

我已经在3台不同的Mac(Sierra)上使用Xcode 8.3.2和Xcode 8.2进行了回购.我有一个没有这个问题的团队成员,唯一真正的区别似乎是他仍然在El Cap.

以下列出了我们尝试过的一些事情:

Xcode 8语法高亮不起作用

如何清空缓存并清理所有目标Xcode 4

Xcode 8.2代码完成不起作用

在Xcode中修复自动完成的一个奇怪的技巧

Apple Dev论坛

有没有人有幸使这个工作(除了关闭测试目标中的"定义模块")?我的下一步是提交雷达.

Hus*_*bir 2

看起来您的有效架构的调试配置中有arm64。可能是因为您收到此错误。尝试在调试配置中删除有效架构上的arm64,然后尝试构建它。