找不到PushPlugin,或者不是CDVPlugin

我正在使用Cordova,Angular和Ionic开发应用程序。 我有一个问题与phonegap推送插件,我搜索了很多但没有找到解决方案。

我使用cordova 5.4.1和phonegap-plugin-push 1.5.3。 当我在Xcode上运行iPad或仿真器上的应用程序时,日志会抛出此错误:

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行,如:

    

但是不起作用。

我已经阅读了在插件forlder中的Xcode和PushPlugin.h的构建阶段中包含PushPlugin.m,但两者都在进行中。我可以看到Xcode如何编译插件(并生成一些警告),一切看起来都很正常,但对于某些原因它不能包含在应用程序中。

就像我说过的那样,我浪费了很多时间来搜索和尝试解决方案,但没有任何作用……有人可以帮助我吗?

https://github.com/phonegap-build/PushPlugin#description

重要 – 推送通知适用于真实设备。 它们未经过WP8仿真器测试。 注册过程将在iOS模拟器上失败。

但我想它的价值,尝试cordova plugin add phonegap-plugin-push --save as phonegap/phonegap-plugin-push是新的统一版本

我很高兴地说,两周后,我找到了解决方案! 当我以为我变得疯狂时,插件终于有效了! 我正在以错误的(和旧的)方式初始化插件。 我将init代码替换为:

  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!