PushPlugin 未找到,或者不是 CDVPlugin
Posted
技术标签:
【中文标题】PushPlugin 未找到,或者不是 CDVPlugin【英文标题】:PushPlugin not found, or is not a CDVPlugin 【发布时间】:2016-02-16 10:46:54 【问题描述】:我正在使用 Cordova、Angular 和 Ionic 开发一个应用程序。我的phonegap push 插件有问题,我搜索了很多,但没有找到解决方案。
我使用 cordova 5.4.1 和 phonegap-plugin-push 1.5.3。当我在 iPad 或 Xcode 模拟器上运行应用程序时,日志会抛出此错误:
ERROR: Plugin 'PushPlugin' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.
[CDVCommandQueue executePending] [Line 159] FAILED pluginJSON = [
"PushPlugin938856013",
"PushPlugin",
"register",
[
"ecb":"onNotificationAPN",
"alert":"true",
"badge":"true",
"sound":"true"
]
]
我已经重新安装了几次插件,删除/添加了 ios 平台,但没有任何效果。 我还尝试添加 config.xml 行,例如:
<feature name="PushPlugin">
<param name="ios-package" value="PushPlugin" />
</feature>
但不起作用。
我已经阅读了在 Xcode 的构建阶段中包含 PushPlugin.m 和在插件 forlder 中包含 PushPlugin.h 的内容,但两者都已经包含在内。我可以看到 Xcode 如何编译插件(并生成一些警告),一切似乎都很正常,但由于某种原因,它不能包含在应用程序中。
就像我说的那样,我浪费了很多时间来寻找和尝试解决方案,但没有任何效果.. 有人可以帮帮我吗?
【问题讨论】:
【参考方案1】:https://github.com/phonegap-build/PushPlugin#description
重要 - 推送通知适用于真实设备。它们未针对 WP8 模拟器进行测试。在 iOS 模拟器上注册过程将失败。
但我猜它的价值,试试cordova plugin add phonegap-plugin-push --save
,因为phonegap/phonegap-plugin-push
是新的统一版本
【讨论】:
你说得对,我一直在 iPad 上测试它,但我在模拟器上试过两次,但就像你说的那样,不起作用。我试过cordova plugin add phonegap-plugin-push --save
,但没有用...
删除你在config.xml中添加的内容,然后再试一次
也试过了,但没什么变化,错误依旧... :(
是的,我可以通过cordova plugin list
看到它。在构建和编译时一切看起来都很好,当 Xcode 在 iPad 上安装应用程序时也是如此。我认为当 Xcode 尝试启动应用程序时会发生此错误...【参考方案2】:
我很高兴地说,两周后,我找到了解决方案!当我以为我快疯了时,插件终于可以工作了! 我以错误(和旧)的方式初始化插件。我将我的初始化代码替换为:
var pushNotification = PushNotification.init(
"android":
"senderID": "1234567890"
,
"ios": "alert": "true", "badge": "true", "sound": "true",
"windows":
);
pushNotification.on('registration', function(data)
console.log("registration event");
console.log(JSON.stringify(data));
);
pushNotification.on('notification', function(data)
console.log("notification event");
console.log(JSON.stringify(data));
pushNotification.finish(function ()
console.log('finish successfully called');
);
);
pushNotification.on('error', function(e)
console.log("push error");
);
而且它有效! 非常感谢您的帮助,@Dwardu!
【讨论】:
以上是关于PushPlugin 未找到,或者不是 CDVPlugin的主要内容,如果未能解决你的问题,请参考以下文章
Phonegap 要求未使用 PushPlugin 和 node-gcm 定义
Cordova 推送通知 (PhoneGap PushPlugin) 未触发 ecb 回调 (onNotificationAPN)
错误:未找到插件 '',或者不是 CDVP 插件。检查 config.xml 中的插件映射
未找到插件,或者不是 CDVP 插件。检查 config.xml 中的插件映射
错误:未找到插件“org.apache.cordova.barcodeScanner”,或者不是 CDVP 插件。检查 config.xml 中的插件映射