如何在cordova iOS应用程序中实现推送通知

4
我已经按照以下步骤进行操作:
我的 Cordova 应用版本为 3.9.2。
根据此教程 https://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1,我已生成了配置文件、证书和 pem 文件。接着开始安装推送通知插件。
  1. Installing Push notification plugin

    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方法吗?
请告诉我如何解决这个问题。

请问您能分享一下出现错误的代码段吗? - Ujjwal Khatri
1
为了解决同一个问题,我已经在代码中添加了注释..WebViewDidFinishLoadMethod然后成功地构建了应用程序。 但是我遇到了另一个问题,当服务器向我的应用程序发送通知时,我无法接收到通知。服务器端没有显示任何错误。.pem文件已成功生成。 - Josh Kethepalli
1个回答

7

已知在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 - Florian Blum
嗨,Mike,我已经在Android上使用了phonegap-plugin-push,并且它正在工作。现在我想在应用程序的iOS版本中使用相同的插件。我已经创建了证书和.pem文件。但是我不知道在哪里使用那个.pem文件。请问您能否解释一下使用GCM在iOS上使其工作的步骤? - Nishat Jahan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接