更新 Cordova 插件导致插件失败
Posted
技术标签:
【中文标题】更新 Cordova 插件导致插件失败【英文标题】:Updating Cordova Plugin results in failed plugin 【发布时间】:2014-05-04 20:03:42 【问题描述】:我正在运行 Cordova 3.4.1,并决定更新我拥有的唯一一个插件 Console。我是根据 2014 年 4 月 23 日的插件更新 (http://cordova.apache.org/news/2014/04/23/plugins.release.html) 做的。
更新是通过首先删除然后重新添加插件来完成的。换句话说:
cordova plugin rm org.apache.cordova.console
cordova plugin add org.apache.cordova.console
然后我跑了
cordova build
它做了很多巫术,之后我通过 Xcode 在 ios 上编译并运行了该应用程序。 结果是这个失败:每次我的代码调用 console.log 时,我都会在 XCode 调试器输出中得到这个错误
CDVPlugin class CDVLogger (pluginName: Console) does not exist.
ERROR: Plugin 'Console' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
-[CDVCommandQueue executePending] [Line 158] FAILED pluginJSON = [
"INVALID",
"Console",
"logLevel",
[
"LOG",
"text i want to see"
]
]
很明显,更新插件的过程无法正常工作。如何自己解决这个问题?如果我这样做了,它会影响 Cordova 团队的任何后续修复吗?
FWIW:我重复了这个过程,尝试了cordova platform update ios
,但无济于事。鉴于所有神秘的 Xcode 配置和构建东西,我不愿意重新安装整个东西,并希望有一个简单的修复......
【问题讨论】:
尝试删除iOS平台,然后重新添加。然后构建并查看问题是否消失。 【参考方案1】:我将项目与我保持正常工作的早期版本进行了比较,并提出了这个修复:
在 Xcode 中,在您的 Phonegap 或 Cordova 项目下,选择
Target -> Build Phases -> Compile Sources
将您的插件添加到那里的列表中,在这种情况下,CVLogger.m 位于“插件”下的文件结构中。
在此之后,项目编译没有错误并且控制台插件工作。无需为此重新安装和重新配置整个项目...
【讨论】:
以上是关于更新 Cordova 插件导致插件失败的主要内容,如果未能解决你的问题,请参考以下文章
Cordova 通知插件安装失败 (Cordova 3.6)
cordova android 6.3.0 的相机和地理定位插件问题
在 Ionic 2 中使用第三方 cordova 插件和 TypeScript