如何在 Cordova iOS 应用程序中实现推送通知
Posted
技术标签:
【中文标题】如何在 Cordova iOS 应用程序中实现推送通知【英文标题】:How to implement Push Notifications in cordova iOS application 【发布时间】:2016-03-18 10:16:02 【问题描述】:我已按照以下步骤操作
我的 cordova 应用程序版本是 3.9.2
按照本教程 https://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
我已生成临时文件、证书和 pem 文件。 之后开始安装推送通知插件
安装推送通知插件
cordova plugin add phonegap-plugin-push --variable SENDER_ID="JYOSHNASENDER"
安装插件时,显示警告消息。
Plugin doesn't support this project's cordova-ios version. cordova-ios: 3.9.2, failed version requirement: >=4.0.0 Skipping 'phonegap-plugin-push' for ios
所以,根据这个消息,我已经通过这个命令升级了我的平台
cordova platform update ios@ 4.0.1
在此之后,当我尝试在设备上构建应用程序时,MainViewController.h
文件中出现错误
No visible @interface for 'CDVViewController' declares the selector 'webviewdidiFinishLoad:'
注意:
我需要为cordova ios项目添加didReceiveRemoteNotification
方法吗?
请告诉我如何解决问题。
【问题讨论】:
能否分享一下出现此错误的代码? 对于同样的问题,我已经注释了代码..WebViewDidFinishLoadMethod
然后成功构建了应用程序。但是我遇到了另一个问题,当服务器向我的应用程序发送通知时,我无法收到通知server
端没有显示任何错误。 .pem
文件生成成功
【参考方案1】:
有一个已知的 cordova-ios 问题,其中cordova platform update
命令在幕后无法正常工作,然后当您构建更新的项目时,您将收到No visible @interface for 'CDVViewController' declares the selector 'webviewdidiFinishLoad:'
错误(有关详细信息,请参阅此处:https://issues.apache.org/jira/browse/CB-9254) .解决方法是删除 ios 平台,然后将其添加回来,而不是就地更新。所以:
cordova platform rm ios
cordova platform add ios@4.0.1
然后添加插件:
cordova plugin add phonegap-plugin-push --variable SENDER_ID="JYOSHNASENDER"
【讨论】:
非常感谢!!我一直在寻找这个解决方案 4 小时:D 嗨,迈克,我已将 phonegap-plugin-push 用于 android 及其工作。现在我想为应用程序的 ios 版本使用相同的插件。我已经创建了证书和 .pem 文件。但我不知道在哪里使用那个 .pem 文件。能否请解释使用 GCM 使其在 ios 中工作的步骤。?以上是关于如何在 Cordova iOS 应用程序中实现推送通知的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Quickblox 在 Cordova 应用程序中实现推送通知支持?
如何使用php json数组在带有angularjs的cordova中实现推送通知