cordovaiOS插件没有find

我最近从2.3.0升级到cordova2.9.0。 按照所有的升级说明,我能够在模拟器中启动应用程序。 但是,在Xcode中,我看到以下错误:

ERROR: Plugin 'Device' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml. -[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["Device1776032119","Device","getDeviceInfo",[]] ERROR: Plugin 'NetworkStatus' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml. -[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["NetworkStatus1776032120","NetworkStatus","getConnectionInfo",[]] -[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","deviceready has not fired after 5 seconds."]] ERROR: Plugin 'Logger' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml. -[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","Channel not fired: onCordovaConnectionReady"]] ERROR: Plugin 'Logger' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml. -[CDVCommandQueue executePending] [Line 103] FAILED pluginJSON = ["INVALID","Logger","logLevel",["LOG","Channel not fired: onCordovaInfoReady"]] 

这是我的config.xml文件:

 <?xml version="1.0" encoding="UTF-8"?> <widget> <feature name="Geolocation"> <param name="ios-package" value="CDVLocation" /> </feature> <feature name="Device"> <param name="ios-package" value="CDVDevice" /> </feature> <feature name="Accelerometer"> <param name="ios-package" value="CDVAccelerometer" /> </feature> <feature name="Compass"> <param name="ios-package" value="CDVLocation" /> </feature> <feature name="Media"> <param name="ios-package" value="CDVSound" /> </feature> <feature name="Camera"> <param name="ios-package" value="CDVCamera" /> </feature> <feature name="Contacts"> <param name="ios-package" value="CDVContacts" /> </feature> <feature name="File"> <param name="ios-package" value="CDVFile" /> </feature> <feature name="NetworkStatus"> <param name="ios-package" value="CDVConnection" /> </feature> <feature name="Notification"> <param name="ios-package" value="CDVNotification" /> </feature> <feature name="FileTransfer"> <param name="ios-package" value="CDVFileTransfer" /> </feature> <feature name="Capture"> <param name="ios-package" value="CDVCapture" /> </feature> <feature name="Battery"> <param name="ios-package" value="CDVBattery" /> </feature> <feature name="SplashScreen"> <param name="ios-package" value="CDVSplashScreen" /> </feature> <feature name="Echo"> <param name="ios-package" value="CDVEcho" /> </feature> <feature name="Globalization"> <param name="ios-package" value="CDVGlobalization" /> </feature> <feature name="InAppBrowser"> <param name="ios-package" value="CDVInAppBrowser" /> </feature> <feature name="Logger"> <param name="ios-package" value="CDVLogger" /> </feature> <feature name="LocalStorage"> <param name="ios-package" value="CDVLocalStorage" /> </feature> <plugins> </plugins> <preference name="KeyboardDisplayRequiresUserAction" value="true" /> <preference name="SuppressesIncrementalRendering" value="false" /> <preference name="UIWebViewBounce" value="true" /> <preference name="TopActivityIndicator" value="gray" /> <preference name="EnableLocation" value="false" /> <preference name="EnableViewportScale" value="false" /> <preference name="AutoHideSplashScreen" value="true" /> <preference name="ShowSplashScreenSpinner" value="true" /> <preference name="MediaPlaybackRequiresUserAction" value="false" /> <preference name="AllowInlineMediaPlayback" value="false" /> <preference name="OpenAllWhitelistURLsInWebView" value="false" /> <preference name="BackupWebStorage" value="cloud" /> <preference name="fullscreen" value="true" /> <preference name="webviewbounce" value="true" /> <access origin="*.googleapis.com"/> <access origin="*.gstatic.com"/> <access origin="*.s3.amazonaws.com"/> </widget> 

对于未来的search者(像我一样),我有一个类似的问题试图添加控制台插件到我的项目。 安装插件后,我缺less的步骤是确保插件(CDVlogger.m)的“目标成员资格”设置的源文件包括我的应用程序名称。

类似的问题与答案,为我工作:

删除./plugins/ios.json以确保插件被重build。

没有findPhonegap 3.0 IOS插件

我遇到过同样的问题。 我刚刚使用节点的包pipe理器下载了cordova 3.0命令行工具。 然后,我使用terminal工具创build我的项目,添加平台,并像这样构build。

 cordova create myApp com.project.RobertW myApp cd myApp cordova platform add ios cordova platform add android cordova build 

之后,我在Xcode中看到了同样的错误,当我尝试在模拟器中运行它时。 在默认情况下,PhoneGap似乎没有在项目中包含任何插件,所以即使在你的configuration文件中它们可能不会在插件文件夹中。 您必须手动或通过命令行工具添加它们。 我使用了命令行工具,因为我觉得这样很容易。

 cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-network-information.git cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-console.git cordova build 

这样做后,我再次在模拟器中运行myApp,一切正常。 在这里的命令行工具有一些很好的说明:

http://docs.phonegap.com/en/3.0.0/guide_cli_index.md.html#The%20Command-line%20Interface

我想如果PhoneGap 3.0需要logging器,设备和networking状态,它会自动包含这些插件,但在我的情况下,它没有。 希望这可以帮助。

编辑:在Xcode的iOS版本的config.xml中,您还需要进行此更改才能使Logger插件正常工作。 以下是默认值。

 <feature name="Console"> <param name="ios-package" value="CDVLogger" /> </feature> 

改变上面这个

 <feature name="Logger"> <param name="ios-package" value="CDVLogger" /> </feature> 

现在所有的控制台function都应该可以正常工作而不会出错

我使用Phonegap 3.0.0时遇到了与设备信息插件相同的问题。 要解决这个问题,我只需卸载并重新安装插件,然后重build我的项目。

 phonegap local plugin remove org.apache.cordova.device phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git phonegap local build ios 

我回到使用旧的<plugin>格式。 尽pipe它已被弃用,但这是唯一对我有用的方法。

 <plugins> <plugin name="Device" value="CDVDevice" /> <plugin name="Logger" value="CDVLogger" /> ... </plugins> 

自己遇到这个问题。 发现唯一的解决scheme是通过CLI添加插件后运行cordova prepareprepare将必要的文件复制到platforms文件夹中的XCode项目中。

我认为这应该作为build命令的一部分来完成,或者如果项目存在,则使用plugin add命令。 也许这是一个错误,也许是故意的,但是我找不到太多的文档。

类似的问题与答案 。

Xcode 6在phonegap 3.5上发生在我身上

脚步:

 phonegap plugin remove org.apache.cordova.camera phongap plugin add org.apache.cordova.camera phongap platform remove ios phongap build ios 

可能不是最好的解决scheme – 因为你失去了你的xcode设置 – 但它解决了这个问题。

在我的情况下…解决scheme是添加这行代码的所有插件,我使用..在我的config.xml

  <feature name="Device"> <param name="ios-package" value="CDVDevice" /> <param name="onload" value="true" /> </feature> <feature name="FCMPlugin"> <param name="ios-package" value="FCMPlugin" /> <param name="onload" value="true" /> </feature> <feature name="StatusBar"> <param name="ios-package" value="CDVStatusBar" /> <param name="onload" value="true" /> </feature> <feature name="CDVLocation"> <param name="ios-package" value="CDVLocation" /> <param name="onload" value="true" /> </feature> <feature name="cordova.logger"> <param name="ios-package" value="CDVLogger" /> <param name="onload" value="true" /> </feature> <feature name="Logger"> <param name="ios-package" value="CDVLogger" /> <param name="onload" value="true" /> </feature> <feature name="Console"> <param name="ios-package" value="CDVLogger" /> <param name="onload" value="true" /> </feature> <feature name="SQLitePlugin"> <param name="ios-package" value="SQLitePlugin" /> <param name="onload" value="true" /> </feature> <feature name="Keyboard"> <param name="ios-package" value="IonicKeyboard" /> <param name="onload" value="true" /> </feature> 

我也有这个问题。 我简单地创build了自己的目录(platforms / ios / appname / Plugins / org.apache.cordova.console),并将缺less的文件(CDVLLogger.h和CDVLLogger.m)复制到此目录中。 然后编译成功。

我正在使用cordova 3.5版本

如果你得到这个错误使用离子,然后尝试运行cordova run ios --device而不是ionic run ios --device它解决了我的问题。 因为该项目是一个离子1项目,我认为离子cli v2搞砸了。 在更新Ionic cli之前,我没有任何问题。

我有与SQLitePlugin相同的问题。 我在这篇文章中尝试了一些build议的解决scheme,但是他们没有一个完全为我工作。 然后我尝试删除平台/ ios目录(我正在为iPhone开发),再次添加ios平台(离子添加平台ios)并重build项目。 突然之间,一切都像一个魅力。 我不必创build一个新的项目,也不必删除插件。