1

iOS アプリケーションのアプリケーション テストをセットアップしようとしています。私がやっていることの基礎として、次の記事を使用しています: http://cocoawithlove.com/2009/12/sample-iphone-application-with-complete.html

これで、必要な追加のターゲットを作成できます。現在、3 つのターゲットがあります: -元のターゲット -テスト ターゲット -複製ターゲット

元のターゲットをターゲット依存関係としてテスト ターゲットに追加しました。次に、複製ターゲットのターゲット依存関係としてテスト ターゲットを追加しました。

ただし、テストケースでクラスを参照しようとすると、次のようになります。

アーキテクチャ armv7 の未定義シンボル: "_OBJC_CLASS_$_MyClass"、参照元: MyApplicationTests.o の objc-class-ref "_OBJC_CLASS_$_AnotherClass"、参照元: MyApplicationTests.o ld の objc-class-ref: シンボルが見つかりませんアーキテクチャー armv7 の clang: エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用します)

元のターゲットに依存していることをテストターゲットに伝えるために、何らかの依存関係を設定する必要がある別の場所はありますか?

乾杯

4

2 に答える 2

6

そこで、この問題の解決策を http://twobitlabs.com/2011/06/adding-ocunit-to-an-existing-ios-project-with-xcode-4/で見つけました。

この問題を回避するには、次のことを行う必要があります。

アプリのターゲット (テスト ターゲットではない) に戻り、デフォルトで非表示のシンボルビルド設定をNOに設定します。

元のターゲットが依存関係として設定されている限り、テスト ターゲットのコンパイル ソースにソース ファイルを追加する必要はありません。

于 2012-04-11T00:06:07.537 に答える
0

テスト コードから参照するすべてのクラスの .m ファイルを、テスト ターゲットのコンパイル済みソースのリストに含める必要があります。あなたが提供したエラーメッセージから、それはあなたの問題のようです。XCode 4.2 では、プロジェクト ナビゲーターでプロジェクトを選択し、次にテスト ターゲット、[ビルド フェーズ] タブを選択して、[コンパイル ソース] セクションを展開することにより、ターゲットにコンパイル ソースを追加できます。Compile Sources セクションの下の「+」をクリックし、クラスの .m ファイルを選択します。

于 2012-04-10T03:01:36.697 に答える