41

当我升级我的 xcode 版本时,我遇到了一个问题。我使用单元测试,现在当我尝试导入 SenTestingKit ( #import <SenTestingKit/SenTestingKit.h>) 时,我收到此错误:SenTestingKit/SenTestingKit.h: No such file or directory.

我查看了我的构建设置,我有以下配置选项:

== Linking ==
Other Linker Flags: -framework Foundation -framework SenTestingKit -framework UIKit
Prebinding: No

== Search Paths ==
Debug Configutation: "/iphonesimulator4.0/Developer/Library/Frameworks" "/Xcode4/Library/Frameworks"

我检查/Xcode4/Library/Frameworks了,SenTestingKit.framework/目录那里。

那么我错过了什么?

4

6 回答 6

57

在 XCode 中创建新的测试用例时,我遇到了同样的问题。然而,这是由于我在创建测试用例时选择了错误的目标很愚蠢。

使用“File New...”,测试用例被包含并使用目标应用程序设置而不是测试用例的目标进行编译。检查构建阶段选项卡并查看“编译源”披露揭示了我的特殊问题。

于 2011-03-05T04:43:30.307 回答
18

升级到 xcode 4.3 后我遇到了这个问题。在我遇到这篇文章之前,似乎没有任何效果。我已经有相同的搜索路径,但改变顺序解决了这个问题。

因此,从文章中,您需要在框架搜索路径中按以下顺序使用以下两个值。

$(SDKROOT)/Developer/Library/Frameworks
$(DEVELOPER_LIBRARY_DIR)/Frameworks
于 2012-02-23T02:16:54.093 回答
6

我遇到了这个问题,因为我的 Xcode 安装中有一个空间:/Xcode 4.0.2

"${DEVELOPER_LIBRARY_DIR}/Frameworks"我通过将(带引号)添加到我的框架搜索路径来修复它。

于 2011-07-08T04:37:09.643 回答
1

为了彻底澄清这一点,Xcode SDK 中有三个 SenTestingKit 框架,一个用于 OS X,一个用于 iOS,一个用于模拟器。

如果您对它们运行“lipo -info”,您会看到

胖文件中的架构:/Developer/Library/Frameworks/SenTestingKit.framework/Versions/A/SenTestingKit 是:x86_64 i386

胖文件中的架构:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit 是架构:armv7

非胖文件:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit 是架构:i386

于 2012-06-06T15:11:20.940 回答
1

对于我的框架搜索路径,我明确添加了/$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk/Developer/Library/Frameworks. 为模拟器和设备正确编译。

我确信有环境变量,因此它可以跨 SDK 版本工作,所以如果我找到它们,我会更新答案。

截屏

于 2011-01-05T02:31:41.257 回答
0

您可能想要检查 Xcode 是否正在检查框架搜索路径:框架搜索路径

于 2011-01-03T15:17:38.457 回答