web-dev-qa-db-ja.com

Cordovaで「CDVPlugin.hファイルが見つかりません」というコンポーネント(Cleaver)

CordovaをコンポーネントとしてiOSプロジェクトに追加しました。カスタムプラグインを追加するとエラーが発生しますが、プラグインはCordovaのみのプロジェクトで機能します。

'CDVPlugin.h' file not found

問題のある部分は次のとおりです。

#import <Foundation/Foundation.h>

#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVPlugin.h>
#else
#import "CDVPlugin.h"
#endif

何が欠けていますか?

25
Michael Schmidt

Xcode7の場合、"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"Header Search Pathsに追加します(そしてEnable BitcodeNoに設定する必要がある場合があります-必要でした私にとっては、xc7の別の問題に関連している可能性があります)

57
Marek Jalovec

プロジェクトナビゲーターでプロジェクトアイコンをクリックします。

プロジェクトを選択し、[ビルド設定]タブを選択します

検索フィールドに「ヘッダー検索パス」と入力します

"$(CORDOVALIB)/Classes"を追加し、[再帰的]チェックボックスをオンにします-Header Search Paths

オプションの追加"-all_load"および"-Obj-C"-その他のリンカーフラグ

参照 詳細な説明(ステップ17)

24
user513790

ヘッダーファイルを次のように変更します。

#import <Cordova/CDVPlugin.h>

それは私のアプリケーションで動作しています。

22
vishnu

Cordovaを使用してこの問題が発生しました。消えたiosプラットフォームディレクトリの下にあるCordovaLibフォルダーを見つけに来てください。

やった:

cordova platform remove ios

その後

cordova platform add ios

...これで問題が解決しました。

20
Helzgate

私は自分のプロジェクトで同じ問題を修正するために非常に多くの時間を費やしてきましたので、私の発見を共有させてください。これは、ある構成でプロジェクトをビルドできるが、別の構成(ユニットテストのビルド時など)では、プリコンパイラがCDVPlugin.hを見つけられない人に関連する場合があります。

CordovaLibサブプロジェクトに、メインプロジェクトと同じ構成のセットがあることを確認する必要があります。

  1. プロジェクトナビゲーターでXcodeのメインプロジェクトを選択します。
  2. プロジェクトアイコン(ターゲットの上)をクリックします。
  3. Infoタブを選択します。
  4. Configurationsを展開します。

したがって、これはアプリ構成のセットです。私の例では、次のようになりました。 App configurations

CordovaLibサブプロジェクトに同じ設定セットが必要です。

  1. CordovaLibサブプロジェクトを選択します。
  2. プロジェクトアイコン(ターゲットの上)をクリックします。
  3. Infoタブを選択します。
  4. Configurationsを展開します。
  5. メインプロジェクトと同じ構成セットがあることを確認してください。一部の構成が欠落している場合:
    1. +ボタンをクリックします。
    2. Duplicate "Release" Configurationを選択します
    3. 構成に適切な名前を付けます。メインのプロジェクト設定からコピーして貼り付けます。

クリーンビルドを実行します。

3
pjuzeliunas

注:Phonegap 2.9.1(2013年11月))

オープンソースの「C」電話ギャッププラグインを機能させようとしたときに、同じ問題が発生しました。解決策は、Cordovalib.xcodeprojをターゲットプロジェクトに追加することでした。完了したら、your_project.xcodeprojをクリックします。[ビルドフェーズ]タブの[ターゲット設定]で、Cordovalibがターゲットの依存関係に追加されていることを確認する必要があります。

完了すると、ステートメント#importが機能するようになります。

1
Paulo

thakns ser51379およびFabio Antunes。答えに従った後、私はAlways Search User PathsYesに設定する必要がありました

0
Kishan Rathod

私の答えを見てください ここ

Xcode 4.5、cordova 2.1.0、JQM 1.2.0にShareKitプラグインをインストールするときに、同じ問題が発生しました。問題のあるブロックは:

#ifdef CORDOVA_FRAMEWORK
#import <Cordova/CDVPlugin.h>
#import <Cordova/CDVPluginResult.h>
//#import <Cordova/JSONKit.h>

#else
#import "CDVPlugin.h"
#import "CDVPluginResult.h"
#import "JSONKit.h"
#endif

私にとってうまくいったのは、#ifdef行をコメントアウトすることと、#elseブロック全体をコメントアウトすることです。

また、#import行は、プラグインでダウンロードしたソースコードで既にコメント化されているため、いじる必要はありませんでした。

あなたの助けになるかもしれません。

0
A_B

Xcode 8および8 +では、単にコメントを付けるだけでうまくいきました。

#import ...

これは、IOSアプリビルドionicまたはCordovaを使用してウォッチキットまたはウィジェットをネイティブに制御するように拡張することを試みている場合に特に役立ちます。

0
RohitAneja

取り替える

インポート

と(

「Classes/CDVPlugin.h」をインポート

OR

「CordovaLib/Classes/CDVPlugin.h」をインポート)

0
bill