1

OCUnit ターゲットにアプリケーション テストが含まれています。Application Host ターゲットのクラスでインスタンス メソッドを呼び出すことはできますが、クラス メソッドを呼び出すことはできません。クラス メソッド ( など) を呼び出すとalloc、次のリンカ エラーが発生します。

Undefined symbols for architecture armv6:
  "_OBJC_CLASS_$_DiceGameViewController", referenced from:
      objc-class-ref in DiceGameViewControllerTest.o
     (maybe you meant: _OBJC_CLASS_$_DiceGameViewControllerTest)
ld: symbol(s) not found for architecture armv6
collect2: ld returned 1 exit status

これは、Objective-C がインスタンス呼び出しを行うためにリンク時にオブジェクト ファイルにアクセスする必要はありませんが、クラス呼び出しのためにリンク時にアクセスする必要があるためだと思います。誰かがこれを確認するためにドキュメントを教えてもらえますか?

この質問は、次の質問に似ています。

インポートされたファイルが OCUnit で認識されない

OCUnit では独自のデータ型を使用できません

4

1 に答える 1

1

XCode 4 での単体テストのリンク エラーで私の回答を参照してください。

于 2011-09-03T03:50:16.977 に答える