1. ホーム
  2. ios

[解決済み] Xcode 6でビルドされた古いプロジェクトでXCTest/XCTest.hが検出されない。

2023-06-03 22:59:53

質問

私は、Xcode 6 Beta 2 でビルドしようとしているいくつかのプロジェクトを持っています。プロジェクトはすべて XCTest (Kiwi/XCTest および Specta) を使用するある種のライブラリを持っていますが、XCTest/XCTest.h が見つからないため、Xcode 6 でビルドすることができません。

fatal error: 'XCTest/XCTest.h' file not found
#import <XCTest/XCTest.h>

XCTest.framework がビルドフェーズリストの "Link Libraries with Binaries" にないことに気づきましたが、これは問題ありません。 新しい プロジェクトを作成すると、ライブラリが自動的にリンクされるように見えるからです。

おそらく何らかの関連性があると思いますが、私の XCTest を必要とする依存関係はすべて Cocoapods を介して持ち込まれます。

私のプロジェクトで更新する必要がある、私が知らないことが何かありますか?

どのように解決するのですか?

注意してください。 Xcode 7で作成されたプロジェクトでは必要ない場合があります。

CocoaPods はこのための修正を行っていました。 ここで はこちら


CocoaPodの依存関係に対してこれを修正するためには、以下のものを FRAMEWORK_SEARCH_PATHS に追加する必要があります(例:Kiwi、Specta、FBSnapshotTestCaseなど)。

$(PLATFORM_DIR)/Developer/Library/Frameworks

<イグ

これにより、あなたが持つかもしれない依存関係において、XCTestを参照することができます。これは、CocoaPodsの将来のアップデート、またはあなたが参照しているPodで修正されるかもしれませんので、後で削除したいかもしれません。

これは、Xcode の以前のバージョンに対して有害ではないので、安全に使用することができます。