2012-08-24 49 views
0

我正尝试在iOS PhoneGap 2.0应用程序中使用新发布的Urban Airship插件实现推送通知。当我从所提供的示例应用程序中加载index.html到我的项目中时,一切正常。但是,当我使用我的应用程序的index.html时,push变量无法访问其原型函数。具体地,在样品应用UA PhoneGap 2.0插件无法在iOS上正确初始化

document.addEventListener("deviceready", function() { 
    push = window.PushNotification; 
    console.log(typeof window.PushNotification); => 'function' 
    console.log(typeof push);     => 'object' 

但在应用产率相同的代码:

console.log(typeof push); => 'function' 

因此push.enablePush()或任何其他原型函数不是调用。我已经尝试过解决方法,但是最终他们通过设备注册破坏了功能。我不知道为什么会发生这种情况,尽管我怀疑它可能与在触发事件之前执行的另一个插件或代码发生冲突。

虽然我确定原因是一个非常具体的问题,但我并不真正了解如何将变量分配给函数对象本身会导致变量存储实例化对象。这不是new的用途吗?为什么它在他们的代码中工作,但不是我的?

回答

1

希望通过UA团队跟进此事。

查看样本index.html(第20行)和PushNotification.js (第261行)。该方法index.html访问插件是这样的:

push = window.pushNotification 

注意驼峰pushNotification,如 计算器问题不是PushNotification

PushNotification.js,我们通过调用初始化插件:

window.pushNotification = new PushNotification(); 

所以PushNotification确实是一个功能,只是插件使用自行启动的功能。

纠正案件应该解决这个问题。

让我知道这是否解决了这个问题。