Pushplugin - 无法注册设备 (IOS)
Posted
技术标签:
【中文标题】Pushplugin - 无法注册设备 (IOS)【英文标题】:Pushplugin- Unable to register the device (IOS) 【发布时间】:2014-07-28 04:38:06 【问题描述】:我正在使用 Phonegap Pushplugin 进行推送通知。在两种方法中都添加了日志。 didRegisterForRemoteNotificationsWithDeviceToken
方法从未被执行。它甚至没有在didFailToRegisterForRemoteNotificationsWithError
上失败。不知道这里有什么问题。
我将 ios 分发证书(不是 APN)上传到 steroids 构建服务,并将 APN Prod 配置文件上传到 AdHoc 构建。我收到推送通知的提示,我可以看到我的应用程序启用了通知。问题是,我没有得到令牌。
查看了debugging steps的以下链接
Plugin link
我正在使用以下代码进行注册。
function registerDevice()
var pushNotification = window.plugins.pushNotification;
pushNotification.register(
tokenHandler,
errorHandler,
"badge":"true",
"sound":"true",
"alert":"true",
"ecb":"onNotificationAPN"
);
var onNotificationAPN = function(event)
var pushNotification = window.plugins.pushNotification;
if ( event.alert )
navigator.notification.alert(event.alert);
if ( event.sound )
var snd = new Media(event.sound);
snd.play();
if ( event.badge )
pushNotification.setApplicationIconBadgeNumber(successHandler, errorHandler,
event.badge);
function tokenHandler (result)
steroids.logger.log("Tokenhandler called with result");
steroids.logger.log(result);
alert(result);
function errorHandler (error)
steroids.logger.log("errorHandler called with result");
steroids.logger.log(error);
alert('error = ' + error);
感谢任何帮助。
更新 - 2014 年 7 月 30 日
我下载了 PersistentConnectionLogging.mobilecondig 并且能够看到生成的令牌。我能够使用此令牌向我的手机发送通知。
tokenHandler 和 onNotificationAPN 仍然没有被解雇。问题显然在 Cordova 方面或在我的 javascript 中。
这个插件甚至可以在 Cordova 3.1/3.5 上运行吗?令人沮丧的是,这个插件没有社区支持。
任何想法。
【问题讨论】:
我也面临同样的问题。你解决问题了吗?! 官方插件不工作。将此github.com/dfilip/PushPlugin 用于 IOS8 功能。 【参考方案1】:这是我实现推送通知的方式:
-
处理证书。 Tutorial
注册并获取令牌。 Tutorial
使用 NSUserDefaults 存储令牌。
通过使用 JS 桥创建自定义插件,创建自定义插件并将令牌从 Objective-c 传递到 javascript。 Tutorial
【讨论】:
以上是关于Pushplugin - 无法注册设备 (IOS)的主要内容,如果未能解决你的问题,请参考以下文章
cordova pushplugin 无法在 iOS 中获取设备令牌
PushPlugin 不注册设备并在 onNotificationGCM 上返回 regid
Phonegap PushPlugin 无法接收通知 ios
打开应用程序(ios,PushPlugin)时 tokenHandler() 不会触发,必须最小化应用程序然后重新打开它以触发事件