“Cordova中没有找到'CDVPlugin.h'文件”作为组件(Cleaver)

时间:2012-05-23 06:27:57

标签: ios cordova phonegap-plugins

我将Cordova添加为我的iOS项目的组件。添加自定义插件会导致错误,尽管该插件适用于仅限Cordova的项目:

'CDVPlugin.h' file not found

问题部分如下:

#import <Foundation/Foundation.h>

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

我错过了什么?

10 个答案:

答案 0 :(得分:56)

对于xcode7,将"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"添加到标题搜索路径(您可能需要将启用Bitcode 设置为 - 是对我来说是必要的,但可能与xc7)的不同问题有关。

答案 1 :(得分:23)

单击Project Navigator中的项目图标

选择您的项目,然后选择“构建设置”标签

在搜索字段中输入“标题搜索路径”

添加"$(CORDOVALIB)/Classes"并查看递归复选框 - 标题搜索路径

可选 添加"-all_load""-Obj-C" - 用于其他链接标记

请参阅detailed description (step 17)

答案 2 :(得分:21)

将您的标题文件更改为:

#import <Cordova/CDVPlugin.h>

它正在我的应用程序中工作。

答案 3 :(得分:19)

我使用Cordova时遇到过这个问题。来找出ios平台目录下的CordovaLib文件夹消失了。

我做了:

cordova platform remove ios

然后

cordova platform add ios

......这解决了这个问题。

答案 4 :(得分:3)

I have spent awful lot of time trying to fix the same issue in my project, so let me share my findings. It might be relevant for those who are able to build the project in one configuration, but in another configuration (e.g. when building unit tests) precompiler fails to find CDVPlugin.h.

You have to make sure that CordovaLib sub-project has the same set of configurations as your main project.

  1. Select the main project in Xcode in project navigator.
  2. Click on the project icon (above the Targets).
  3. Select Info tab.
  4. Expand Configurations.

So, this is a set of your app configurations. In my example it looked like this: App configurations

You need to have the same set of configurations in your CordovaLib sub-project.

  1. Select CordovaLib sub-project.
  2. Click on the project icon (above the Targets).
  3. Select Info tab.
  4. Expand Configurations.
  5. Make sure you have the same set of configurations as in the main project. If some configurations are missing:
    1. Click + button.
    2. Select Duplicate "Release" Configuration
    3. Give the right name for configuration. Copy-paste it from main project settings.

Now perform a clean build.

答案 5 :(得分:1)

注:Phonegap 2。9。1(2013年11月))

我在尝试制作开源“C”手机间隙插件时遇到了同样的问题。解决方案是将Cordovalib.xcodeproj添加到目标项目,完成后,单击your_project.xcodeproj - 您需要查看目标设置,在Build Phases选项卡下,确保Cordovalib添加到Target Dependencies中。 / p>

完成后应该允许声明:      #进口 工作。

答案 6 :(得分:0)

看看我的回答here

我在Xcode 4.5,cordova 2.1.0&amp;上安装ShareKit插件时遇到了同样的问题。 JQM 1.2.0。有问题的块是:

#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行已在我使用插件下载的源代码中注释掉了,所以我没有理会这一点。

可能对你有所帮助。

答案 7 :(得分:0)

替换

import

与 (

import&#34; Classes / CDVPlugin.h&#34;

OR

import&#34; CordovaLib / Classes / CDVPlugin.h&#34;)

答案 8 :(得分:0)

thakns user513790 Fabio Antunes 。 在完成以下答案后,我必须将始终搜索用户路径设置为

答案 9 :(得分:0)

在xcode 8和8 +中简单地评论为我工作的行:

select.on('change', updateText)

如果您尝试使用ionic或cordova扩展IOS应用程序构建以本机地拥有watchkit或窗口小部件控件,这将非常有用。