0

Ich versuche, Push-Benachrichtigungen auf dem iPhone-Emulator zu verwenden, aber ich habe keinen Erfolg, ich bin mit dem Beispielcode:Keine Antwort von registerForPushNotifications() auf 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); 
} 

und keiner der registerForPushNotifications() Rückrufe abgefeuert werden, der Erfolg, die Fehler oder der Rückruf nicht aufgerufen werden, und ich habe eine harte Zeit, es zu lösen, suchte ich ein bisschen auf dem Netz, die Lösungen, bei denen:

  • um die LiveView auszuschalten, aber es hat mein Problem nicht gelöst,

  • Testen auf einem echten Iphone hat nicht geholfen;

  • Überprüfen Sie alle Push-Notifications-Konfigurationen auf dem Appcelerator-Dashboard, und alles war in Ordnung.

Ich kann immer noch keine Lösung finden.

+0

Versuchen Sie es auf einem echten Gerät, Push-Benachrichtigung funktioniert nicht auf dem iOS-Simulator. – danny005

Antwort

2

Wie Jagu und Danny vorgeschlagen, gibt es keine Möglichkeit, die Push-Benachrichtigungen auf Simulator/Emulator zu testen.

Aber denken Sie auch daran, LIVE VIEW zu deaktivieren, wenn Sie es auf einem physischen Gerät testen, andernfalls erhalten Sie möglicherweise kein Geräte-Token.