重命名项目后,我找不到<xctest xctest.h =“”>。</xctest>

时间:2014-12-05 21:27:42

标签: ios xcode rename xctest

在重新命名之前,我首先复制了我的项目。重命名后,我正在

Lexical or Preprocessor Issue <XCTest/XCTest.h> not found. 

错误将我定向到调用

的myapptests.m文件
#import <XCTest/XCTest.h>

也是下一行

@interface SpyShotTests : XCTestCase

“XCTestCase”并非以紫色点亮。

我见过的任何教程都指导我进入构建设置中的框架搜索路径 - 但框架搜索路径与初始文件完全相同,并且该文件构建没有问题。

2 个答案:

答案 0 :(得分:29)

我遇到了类似的东西,我想知道我的解决方案是否有用。

您可能想要检查引发错误的文件是否包含在相应的目标源的“编译源”中。您的文件可能未包含在内。在我的情况下,它已包含在项目目标中,而不包含在测试目标中。由于XCTest只能通过测试目标访问,因此无法编译生成错误“未找到XCTest / XCTest.h文件”。

项目目标&gt;&gt;构建阶段&gt;&gt;编译来源: Making sure your test file is added as a compile source for the test target.

您可以通过按照上面的图像手动将其添加到“编译源”来解决此问题,也可以从项目中删除该文件并重新添加,确保在重新添加时选择“测试目标” : Adding a new file to the Test Target.

如果它帮助了其他任何人,我在移动测试用例文件(在文件系统中)然后将其重新添加到我的测试项目(右击,'将文件添加到“项目”......)后遇到了这个问题。 )。事实证明我没有将文件添加到Test目标 - 我只是将它添加到Project Target。

答案 1 :(得分:1)

Xcode 7.2.1 / Swift 2.1.1

当我创建一个新文件时,我选择iOS>Source>Swift File,即使我检查了测试目标,我仍然在import XCTest行上出错:

  

错误:无法为“XCTest”

加载基础模块

为了摆脱这个错误,当我创建一个新文件时,我不得不选择iOS>Source>Unit Test Case Class,我接受了其他所有内容的默认值。