0

に私は、iPhoneのエミュレータにプッシュ通知を使用しようとしていますが、私は例のコードを使用しています、任意の成功を持っていないです:registerForPushNotificationsから無回答()Appceleratorの

var deviceToken = null; 
// Check if the device is running iOS 8 or later 
if (Ti.Platform.name == "iPhone OS" && parseInt(Ti.Platform.version.split(".")[0]) >= 8) { 
Ti.API.log("identificada versão 8"); 
// Wait for user settings to be registered before registering for push notifications 
Ti.App.iOS.addEventListener('usernotificationsettings', function registerForPush() { 
    Ti.API.log("Notifications config set"); 
    // Remove event listener once registered for push notifications 
    Ti.App.iOS.removeEventListener('usernotificationsettings', registerForPush); 

    Ti.Network.registerForPushNotifications({ 
     types : [Ti.App.iOS.NOTIFICATION_TYPE_BADGE, Ti.App.iOS.NOTIFICATION_TYPE_ALERT, Ti.App.iOS.NOTIFICATION_TYPE_SOUND], 
     success: deviceTokenSuccess, 
     error: deviceTokenError, 
     callback: receivePush 
    }); 
}); 

// Register notification types to use 
Ti.App.iOS.registerUserNotificationSettings({ 
    types: [ 
     Ti.App.iOS.USER_NOTIFICATION_TYPE_ALERT, 
     Ti.App.iOS.USER_NOTIFICATION_TYPE_SOUND, 
     Ti.App.iOS.USER_NOTIFICATION_TYPE_BADGE 
    ] 
}); 
} 

// For iOS 7 and earlier 
else { 
    Ti.Network.registerForPushNotifications({ 
    // Specifies which notifications to receive 
    types: [ 
     Ti.Network.NOTIFICATION_TYPE_BADGE, 
     Ti.Network.NOTIFICATION_TYPE_ALERT, 
     Ti.Network.NOTIFICATION_TYPE_SOUND 
    ], 
    success: deviceTokenSuccess, 
    error: deviceTokenError, 
    callback: receivePush 
    }); 
} 
// Process incoming push notifications 
function receivePush(e) { 
    alert('Received push: ' + JSON.stringify(e)); 
} 
// Save the device token for subsequent API calls 
function deviceTokenSuccess(e) { 
    deviceToken = e.deviceToken; 
    subscribeToChannel(); 
} 
function deviceTokenError(e) { 
    alert('Failed to register for push notifications! ' + e.error); 
} 

とregisterForPushNotificationsのどれも()コールバックが成功、エラー、またはコールバックが呼び出されていないされ、解雇されている、と私はそれを解決するために苦労しています、私はソリューション、ウェブ上のビットを検索場所:

  • ライブビューをオフにするが、それは私の問題を解決していない、

  • 実際のiPhoneでのテストは役に立ちませんでした。

  • appceleratorダッシュボードのすべてのプッシュノーティフィケーションの設定を確認してください。

解決策がまだ見つかりません。

+0

実際のデバイスで試してみてください。プッシュ通知はiOSシミュレータでは機能しません。 – danny005

答えて

4
  1. プッシュ通知が唯一のデバイス上で動作します。 Push Notifications iOS simulator

  2. Configuring push services for iOS devices

+0

それは私に多くの時間を節約しました、今私は実際のipadで試しています、私はプッシュを受け取りますが、まだプッシュ通知はiOS上のボタンを持たず、アンドロイドでは返信ボタンはイベントを発生させません。 –

2

Jaguとダニーによって示唆されるように、シミュレータ/エミュレータにプッシュ通知をテストする方法はありません。

また、物理デバイスでテストするときにLIVE VIEWをオフにする必要があります。そうしないと、デバイストークンが得られないことがあります。

関連する問題