Xcode 4.3.3缺少SenTestingKet.framework导致未定义的符号“_OBJC_METACLASS _ $ _ SenTestCase”

时间:2012-08-23 20:52:43

标签: osx-lion xcode4.3 sentestingkit

在我的MAC mini 上,我的项目可以运行SenTestingKit.framework测试。获得了 10.7.4和的MACBook Pro。对于同一个项目,我无法运行单元测试,因为找不到SenTestingKit.framework。我将{mini}中的复制到“/Applications/Xcode.app/Contents/Developer/Library/Frameworks”。添加到每个目标框架搜索路径:
$(继承)
“$(DEVELOPER_LIBRARY_DIR)/ Frameworks”

这解析为“/Applications/Xcode.app/Contents/Developer/Library/Frameworks”。

我可以将添加到项目中,以便进行编译。我无法运行Product>由于此链接错误进行测试:

Undefined symbols for architecture i386:
  "_OBJC_METACLASS_$_SenTestCase", referenced from:
      _OBJC_METACLASS_$_Field_MobileApplicationTests in Field_MobileApplicationTests.o
  "_OBJC_CLASS_$_SenTestCase", referenced from:
      _OBJC_CLASS_$_Field_MobileApplicationTests in Field_MobileApplicationTests.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status

1 个答案:

答案 0 :(得分:0)

通过使用我想要测试的类,我遇到了同样的问题。我收到了这个错误:

Undefined symbols for architecture i386:
"_OBJC_METACLASS_$_JsonDictParser", referenced from:
   _OBJC_METACLASS_$_MainData in MainData.o
   _OBJC_METACLASS_$_JsonObjectClass in JsonObjectClass.o
"_OBJC_CLASS_$_JsonDictParser", referenced from:
   _OBJC_CLASS_$_MainData in MainData.o
   _OBJC_CLASS_$_JsonObjectClass in JsonObjectClass.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我已经在课堂上创建了一个我想测试的对象,忘了告诉“目标会员”。所以我确保检查了测试类。

E.g。我想在我的JsonDictParser课程中使用JsonTestLogicTest课程进行测试。所以我关注JsonDictParser.m文件,点击主窗口右侧的File Inspector,选中Target Membership,然后检查我的课程,我的考试在JsonTestLogicTest

或者打开Project Navigator中的.xcodeproject文件,选择带有测试方法的目标>构建阶段>编译源并添加.m文件,其中包含您要测试的类。