0

今日、XCode 4 を (Apple mac アプリ ストアを使用して) インストールし、新しい Mac OS アプリケーションを作成し、テスト モードに切り替えて、生成されたテスト スケルトン コードをビルドしようとしました。ここで失敗しました:

mytests.h で:

#import <SenTestingKit/SenTestingKit.h>

エラーは次のとおりです。

file://..mytests.h: error: Lexical or Preprocessor Issue: 'SenTestingKit/SenTestingKit.h' file not found

ここで、端末からロケートを使用して SenTestingKit.h を見つけると、それが /Developer-old/Library/Frameworks フォルダー (XCode 4 インストーラーが /Developer フォルダーの名前を変更したもの) の下にあることに気付きました。新しい /Developer/Library/Frameworks はありません。そして、開発者の古いディスク以外に、ディスクに SenTestingKit.framework が見つからないようです。

調子はどう?SenTestingKit.framework は XCode 4 に同梱されていないようです。

アップデート:

さらに、私の古い SenTestingKit フレームワークを XCode 3 から /Developer/Library/Frameworks にコピーすると、ある程度はビルドされますが、期待どおりに動作しません。ダミー テストは単に失敗するように設計されていますが、「テストを実行」すると、通常のココア アプリ ドキュメント ウィンドウが開くだけで、テストが失敗したことを示すものはありません (意図したとおりです)。

これはかなり悪いです。単体テストを失敗させることができません。それは私にとって通常の状況ではありません。

4

3 に答える 3

4

この理由は、Xcode 4 を /Xcode 4.x/ などのディレクトリにインストールしたことが原因であることがわかる場合があります。-I パスが「Xcode」および「4.x/Library/Frameworks」であるため、スペースが問題を引き起こしています。

これを修正するには、テスト ターゲットを選択し、そのビルド設定の下でフレームワーク検索パスを見つけて、2 つの引数を引用符で囲む必要があります。

「$(SDKROOT)/Developer/Library/Frameworks」および「$(DEVELOPER_LIBRARY_DIR)/Frameworks」

次に、デフォルトのテストがコンパイル、リンク、および失敗します。

于 2011-10-04T12:21:46.277 に答える
1

フレームワークをプロジェクトにインポートする必要がある場合があります。そうしないと、ヘッダー ファイルが認識されません。

探しているフレームワークが見つからない場合は、プロジェクトのビルド設定でフレームワークのルック パスを調整できます。

于 2011-03-11T03:54:33.503 に答える
0

メイン コードと同じプロジェクトで単体テストをビルドする場合、XCode 4 が mytests.m ファイルをメイン コードの「ソースのコンパイル」セクションに自動的に接続していないことを確認してください。

たとえば、プロジェクトに 2 つのターゲットがあるとします。

私のプロジェクト

MyProjectTests

MyProject の Build Phases をチェックして、XCode が mytests.m を「Compile Sources」アコーディオンに追加したかどうかを確認します。これにより、SenTest がメイン プロジェクトに含まれていないため、ビルドが失敗します。

于 2011-05-04T03:12:25.157 に答える