新しくリリースされた Urban Airship プラグインを使用して、iOS PhoneGap 2.0 アプリにプッシュ通知を実装しようとしています。提供されたサンプル アプリからプロジェクトに index.html を読み込むと、すべてが完全に機能します。ただし、アプリの index.html を使用すると、push
変数はそのプロトタイプ関数にアクセスできません。具体的には、サンプルアプリでは次のようになります。
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()
、または他のプロトタイプ関数は呼び出し可能ではありません。回避策を試しましたが、最終的にデバイス登録の機能が壊れてしまいます。これが発生する理由はわかりませんが、deviceready
イベントが発生する前に実行される別のプラグインまたはコードとの競合であると思われます。
原因は非常に具体的な問題であると確信していますが、変数を関数オブジェクト自体に割り当てると、変数がインスタンス化されたオブジェクトを格納する方法が一般的によくわかりません。そのためじゃないnew
の?彼らのコードでは機能するのに、私のコードでは機能しないのはなぜですか?