Cordova 3.1.0:未找到插件或不是CDVPlugin

pic*_*ose 6 plugins ios cordova ios7 cordova-3

我正在尝试构建我的第一个Cordova应用程序,但我无法使用插件.

我的应用程序是使用Cordova命令行界面构建的,所以我以这种方式添加了Camera插件:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git
Run Code Online (Sandbox Code Playgroud)

我的config.xml如下所示:

<?xml version='1.0' encoding='utf-8'?>
<widget id="com.dev.myapp" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>My App</name>
    <description>
        A sample Apache Cordova application
    </description>
    <author email="dev@callback.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
    <preference name="fullscreen" value="true" />
    <preference name="webviewbounce" value="true" />
    <feature name="Camera">
        <param name="ios-package" value="CDVCamera" />
    </feature>
</widget>
Run Code Online (Sandbox Code Playgroud)

我已经运行了cordova build,一切都很顺利,但是当我在Xcode中构建项目时,它首先告诉我CDVCamera.h, CDVCamera.m files缺少的.当我cordova plugin add在第一个位置运行时,命令行界面是不是应该正确放置这些文件?

即使我在项目中手动复制文件,项目也会运行但是当我调用Camera函数时会抛出以下错误:

ERROR: Plugin 'Camera' not found, or is not a CDVPlugin
Run Code Online (Sandbox Code Playgroud)

我知道我是新手,但我无法弄清楚我做错了什么?

jla*_*tre 16

如果在所有文件都到位时仍然出现此错误,请确保相关的源.m文件实际上是项目的目标成员.

为此,请Plugin.m在Xcode中选择该文件,并确保在Target Membership下的右侧检查器窗格中选中项目的复选框.

删除并添加插件几次后,我遇到了这个问题.

提示:当插件不是项目成员时,相应的Plugin.h文件缺少对类中声明的类型的语法颜色突出显示CDVPlugin(如Xcode 5.0中所示).


Chr*_*Rae 8

如果你的Xcode项目中没有太多的限制(我没有),解决这个问题的最简单方法是:

cordova platform remove ios
Run Code Online (Sandbox Code Playgroud)

然后...

cordova platform add ios
Run Code Online (Sandbox Code Playgroud)

通过这样做可以解决混乱的问题.您无需重新安装插件,重新添加平台时会安装插件.


pic*_*ose 1

好吧,看来你必须在创建构建之前添加所有你想要的插件。所有资源文件都已正确定位。