25

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

'CDVPlugin.h' file not found
  • PhoneGap /Cordova1.7.0がインストールされています
  • 手順を正しく実装するために複数回チェックしましたhttps://github.com/apache/incubator-cordova-ios/blob/master/guides/How%20to%20Use%20Cordova%20as%20a%20Component.md( "Adding Cleaver to Xcodeプロジェクト(CordovaLibサブプロジェクト) ")
  • プラグインは、プレーンなコルドバベースのアプリケーション(コルドバXcodeテンプレート)で動作します
  • メインプロジェクトの「他のリンカーフラグ」に「-all_load」を追加しても効果はありません

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

#import <Foundation/Foundation.h>

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

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

4

9 に答える 9

57

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

于 2015-10-27T13:29:33.903 に答える
24

Project Navigator のプロジェクト アイコンをクリックします。

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

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

"$(CORDOVALIB)/Classes"Recursive チェックボックスを追加してチェックします - Header Search Pathsの値

オプションの Add "-all_load"and "-Obj-C"- Other Linker Flags

詳細な説明を参照してください (手順 17)

于 2012-06-20T10:03:18.070 に答える
22

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

#import <Cordova/CDVPlugin.h>

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

于 2012-10-03T14:18:56.530 に答える
20

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

やった:

cordova platform remove ios

それから

cordova platform add ios

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

于 2016-04-01T20:03:26.643 に答える
1

注: Phonegap 2.9.1 (2013 年 11 月))

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

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

于 2013-11-29T18:09:15.880 に答える
0

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

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 行は既にコメントアウトされていたので、いじりませんでした。

何かお役に立てるかもしれません。

于 2012-12-21T07:42:50.650 に答える