Нет ответа от registerForPushNotifications() на Appcelerator

Я пытаюсь использовать push-уведомления на эмуляторе iphone, но у меня ничего не получается, я использую пример кода:

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() не запускается, успех, ошибка или обратный вызов не вызываются, и мне трудно это решить, я немного искал в Интернете решения, где:

  • отключить liveView, но это не решило мою проблему,

  • тестирование на реальном айфоне не помогло;

  • Проверьте все настройки push-уведомлений на панели управления appcelerator, и все в порядке.

Я все еще не могу найти решение.


person Ricardo Gimenes Ferreira    schedule 03.05.2016    source источник
comment
Попробуйте на реальном устройстве, push-уведомления не работают на симуляторе iOS.   -  person danny005    schedule 03.05.2016


Ответы (2)


  1. Push-уведомление работает только на устройстве.Имитатор push-уведомлений для iOS

  2. Настройка push-сервисов для устройств iOS

person Jagu    schedule 03.05.2016
comment
это сэкономило мне много времени, теперь я пытаюсь использовать настоящий iPad, и я получаю push-уведомление, но все же push-уведомление не имеет кнопки на iOS, а на Android кнопка ответа не вызывает никаких событий. - person Ricardo Gimenes Ferreira; 09.05.2016

Как предложили Джагу и Дэнни, нет возможности протестировать Push-уведомления на симуляторе/эмуляторе.

Но также не забудьте отключить LIVE VIEW при тестировании на физическом устройстве, иначе вы можете не получить токен устройства.

person Prashant Saini    schedule 04.05.2016