重命名项目后,我收到“<XCTest/XCTest.h>未找到”的消息。

15

在重命名之前,我先复制了我的项目。重命名后,我遇到了问题。

Lexical or Preprocessor Issue <XCTest/XCTest.h> not found. 
错误将我指向myapptests.m文件,该文件调用了。
#import <XCTest/XCTest.h>

还有下一行

@interface SpyShotTests : XCTestCase

“XCTestCase”未用紫色突出显示。

我看过的任何教程都指引我前往构建设置中的框架搜索路径,但是框架搜索路径与初始文件完全相同,而该文件可以成功构建,没有任何问题。

2个回答

31

我遇到了类似的问题,我想知道我的解决方案是否有帮助。

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

项目目标 >> 构建阶段 >> 编译源: 确保将测试文件添加为测试目标的编译源。

您可以通过手动将其添加到“编译源”(如上图所示)来修复此问题,也可以从项目中删除该文件并重新添加它,确保在重新添加时选择测试目标: 将新文件添加到测试目标。

如果有助于其他人,我遇到了这个问题,原因是我移动了一个测试用例文件(在文件系统中),然后重新将其添加到我的测试项目中(右键单击,“添加文件到“Project”...”)。后来我发现我没有将文件添加到测试目标中 - 我只是将其添加到了项目目标中。


1

Xcode 7.2.1/Swift 2.1.1:

当我创建一个新文件时,我选择了 iOS>Source>Swift File,即使我勾选了“Test target”,但在 import XCTest 行仍然出现错误:

错误:无法加载“XCTest”的底层模块

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接