0

私のMACminiosx 、プロジェクトでSenTestingKit.frameworkテストを実行できます。xcode4.3を搭載したを入手しました。同じプロジェクトで、SenTestingKit.frameworkが見つからないため、単体テストを実行できません。から「 /Applications/Xcode.app/Contents/Developer/Library/Frameworks」にコピーします。各ターゲットフレームワーク検索パスに追加:
$(継承)
"$(DEVELOPER_LIBRARY_DIR)/ Frameworks"

これは「/Applications/Xcode.app/Contents/Developer/Library/Frameworks」に解決されます。

をプロジェクトに追加できます。であるため、Product> Testを実行できません-記号:

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
4

1 に答える 1

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)

クラスからテストしたいオブジェクトを作成しましたが、「ターゲット メンバーシップ」を伝えるのを忘れていました。だから私はテストクラスをチェックしたことを確認します。

JsonDictParserたとえば、クラスでのテストにクラスを使用したいJsonTestLogicTestJsonDictParser.mそこで、ファイルにフォーカスFile Inspectorし、メイン ウィンドウの右側にある をクリックしTarget Membership、テストケースが含まれているクラスを選択してチェックしましたJsonTestLogicTest

または.xcodeproject、プロジェクト ナビゲーターでファイルを開き、テスト メソッド > ビルド フェーズ > コンパイル ソースでターゲットを選択し、テストする.mクラスを含むファイルを追加します。

于 2012-09-07T13:44:08.190 に答える