TypeError:"undefined"不是对象(在收到推送通知后评估"registerEventSources[pendindPushEvent.alias].callback")



我正在Worklight 6中开发一个混合应用程序,并尝试为我的iOS环境设置推送通知。我已经能够在我的iOS设备上成功订阅和接收推送通知。但是,当我尝试通过单击收到的推送通知打开应用程序时,我看到此错误:

TypeError: 'undefined' 不是对象 (评估 'registerEventSources[pendindPushEvent.alias].callback')

这似乎发生在我尝试连接到 Worklight 服务器以进行身份验证 (WL.Client.login),并随后阻止执行任一登录回调。奇怪的是,它似乎引用的这个事件源回调确实被调用了。我传递给 WL 的函数。Client.Push.registerEventSourceCallback 正在正确执行和显示通知有效负载.msg。

注意:如果在没有推送通知的情况下打开应用程序,则身份验证似乎工作正常。

我在其他地方找不到有关此错误的任何信息。谁能阐明这个问题?

实际上,这是IMO的一个缺陷。它在Android中是固定的,但显然不是在iOS中。我已经打开了一个关于它的缺陷。

看起来您需要为推送通知定义回调:

WL.Client.Push.registerEventSourceCallback(
            "myPush", 
            "PushAdapter", 
            "PushEventSource", 
            pushNotificationReceivedCallBack);

function pushNotificationReceivedCallBack(props, payload){
    alert("pushNotificationReceived invoked");
}

能否仔细检查向事件源注册的回调函数?也许在"registerEventSourceCallback"调用中定义的函数与实际的函数实现之间存在拼写错误?

相关内容

  • 没有找到相关文章

最新更新