web-dev-qa-db-ja.com

Xcode-SenTestingKitが見つかりません

Xcodeのバージョンをアップグレードしたときにポップアップする問題があります。単体テストを使用していて、SenTestingKit(#import <SenTestingKit/SenTestingKit.h>)、私はこのエラーを受け取ります:SenTestingKit/SenTestingKit.h: No such file or directory

ビルド設定を確認しましたが、次の構成オプションがあります。

== Linking ==
Other Linker Flags: -framework Foundation -framework SenTestingKit -framework UIKit
Prebinding: No

== Search Paths ==
Debug Configutation: "/iphonesimulator4.0/Developer/Library/Frameworks" "/Xcode4/Library/Frameworks"

確認しました/Xcode4/Library/Frameworks、 そしてその SenTestingKit.framework/ディレクトリisがあります。

だから私は何が欠けていますか?

41
Sam Valens

XCodeで新しいテストケースを作成するときにも同じ問題が発生しました。ただし、これは、テストケースを作成するときに間違ったターゲットを選択するのが愚かだったためです。

「新規作成...」を使用すると、テストケースが含まれ、テストケースのターゲットではなく、ターゲットアプリケーション設定でコンパイルされていました。 [ビルドフェーズ]タブを確認し、「コンパイルソース」の開示を確認すると、私の特定の問題が明らかになりました。

57
davidwu

Xcode 4.3にアップグレードした後、この問題が発生しました。 この投稿 に出会うまで、何も機能しないようでした。私はすでに同じ検索パスを持っていましたが、順序を変更すると問題が解決しました。

したがって、記事から、フレームワーク検索パスに次の2つの値がこの順序で必要です

$(SDKROOT)/Developer/Library/Frameworks
$(DEVELOPER_LIBRARY_DIR)/Frameworks
18
DougW

Xcodeインストールにスペースがあるため、この問題が発生しました:/Xcode 4.0.2

フレームワーク検索パスに"${DEVELOPER_LIBRARY_DIR}/Frameworks"(引用符付き)を追加して修正しました。

フレームワーク検索パスの場合、/$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk/Developer/Library/Frameworksを明示的に追加しました。シミュレータとデバイス用に正しくコンパイルします。

SDKのバージョン全体で機能するように環境変数があると確信しているので、環境変数が見つかったら更新します。

screenshot

1
Stuart Carnie

これを一度すべて解決するために、Xcode SDKには3つのSenTestingKitフレームワークがあり、1つはOS X用、1つはiOS用、もう1つはシミュレーター用です。

あなたが彼らに「lipo -info」を走らせたなら、あなたはそれを見たでしょう。

ファットファイル内のアーキテクチャ:/Developer/Library/Frameworks/SenTestingKit.framework/Versions/A/SenTestingKit are:x86_64 i386

ファットファイル内のアーキテクチャ:/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit is architecture:armv7

非脂肪ファイル:/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.1.sdk/Developer/Library/Frameworks/SenTestingKit.framework/SenTestingKit is architecture:i386

1
valexa

Xcodeがフレームワーク検索パスをチェックしていることを確認したい場合があります。 Framework Search Paths

0
Daniel Farrell