自动完成功能不适用于测试文件

时间:2017-02-15 01:16:17

标签: xcode

代码完成对我来说一直是个问题,最近又出现了新的问题。通常我可以删除派生数据文件夹并重建,有时必须退出Xcode,但现在我遇到了一个我无法解决的问题。

自动完成正在我的基础项目中工作,我的意思是如果我在使用该程序构建的文件中,代码完成工作。但是,如果我开始在使用测试目标构建的代码模块中编写测试用例,则完成将不适用于任何主要目标类或变量。

我有@testable import [target],它过去一直在工作。

我最近唯一做的就是将我的repo从我的iCloud驱动器上移开,因为只要拉到本地硬盘驱动器位置就会导致Xcode崩溃。

项目设置中是否有一些位置可以确定Xcode的位置?我需要删除一些隐藏的缓存吗?没有代码完成的编程是一场噩梦。

在Swift 3中使用最新的8.2.1 Xcode和我的所有代码。

2 个答案:

答案 0 :(得分:12)

我最近遇到了同样的问题,我一直在尝试的是:

  1. 清理我的构建文件夹 Alt + Shift + Cmd + K

    < / LI>
  2. 构建我的测试目标 Shift + Cmd + U

  3. 我错误地认为Xcode 8.2.1会构建我的主要目标,因为它在我的单元测试类中是@testable import

    所以最终有效的步骤是:

    1. 清理我的构建文件夹 Alt + Shift + Cmd + K

      < / LI>
    2. 构建我的主要目标 Cmd + B

    3. 构建我的测试目标 Shift + Cmd + U

    4. 之后,代码完成和语法突出显示都会按预期返回。

答案 1 :(得分:8)

我在Xcode 10.1下遇到了相同的问题。该问题似乎与当前使用的方案的Build配置设置有关。也就是说,我的行动不同,例如为“运行”操作释放,为“测试”操作释放调试。将“运行”操作的构建配置更改为“调试”(因此与“测试”操作匹配)可以解决我的问题。

我使用的步骤:

  1. 选择您的方案(左上方)

  2. 选择“编辑方案”

  3. 确保“测试”和“运行”操作使用相同的构建配置

    3.1如果没有,请选择相应的操作(“测试”或“运行”),选择“信息”标签,然后从相应的选择器中更改配置