2013-10-07 45 views
5

我正在尝试构建我的第一个科尔多瓦应用程序,但无法获得插件的工作。科尔多瓦3.1.0:找不到插件或不是CDVPlugin

我的应用程序是使用科尔多瓦命令行界面内置,所以我已经添加了摄像头插件是这样的:

cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-camera.git 

我的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="[email protected]" 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> 

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

而且即使我手动复制文件在我的项目,该项目的运行,但是当我调用摄像头功能,它引发以下错误:

ERROR: Plugin 'Camera' not found, or is not a CDVPlugin 

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

回答

1

好吧,看起来你必须添加所有你想要的插件,然后再创建构建。所有资源文件都正确定位。

14

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

要做到这一点,选择Plugin.m文件在Xcode并确保下目标会员右窗格检查员为您的项目的复选框被选中。

我在删除并添加插件几次后出现此问题。

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

+0

感谢您的支持!我对命令行工具的挑剔感到非常沮丧。它有很多需要解决的小错误。 – inorganik

+0

非常感谢!我一直试图弄清楚这几个小时,你只是救了我很多的伤心:) –

+0

它适合我! – VVL

7

如果你没有太多的Xcode项目捆绑起来(我没有),为解决这个最简单的方法就是做:

cordova platform remove ios 

,然后...

cordova platform add ios 

无论它是什么都弄糊涂解决这样做。您无需重新安装插件,只需重新添加平台即可安装插件。

0

我也有这个问题,以及重新安装插件,但设法解决它。如果像我一样,删除该平台是不是因为你会失去太多的工作选项,这里有一个解决方案:

第1步:添加CDVCamera.m到您的编译源代码(在构建阶段)

步骤2:如果你的问题与我的相同,你会得到Apple Match-o-Linker错误:将框架OpenAL和ImageIO添加到你的项目中。

第3步:重建并高兴:)

1

我有与phonegap 3.6相同的问题。通过更新phonegap,问题得以解决。

npm update -g cordova 

显然,必须有更新的PhoneGap :)

1

我只想说我会尝试重置您的平台,即使你不觉得这是你的问题的克里斯Rae的解决方案的愿望!

cordova platform rm ios 
cordova platform add ios 

感谢Chris Rae为您提供的解决方案!它对我很好。我将它和其他解决方案收集到了我的应用程序中,并将它们添加到博客文章中。

http://blog.tylerbuchea.com/using-wkwebview-in-ios9-to-boost-ionic-cordova-performance/

我觉得我把你对构建设置方案的另一个。所以,不要生气/感谢一堆!

相关问题