2015-11-11 4 views
1

Я разрабатываю приложение для клиента, который должен иметь возможность получать push-уведомления во время работы в фоновом режиме.iPhone 5 работает под управлением iOS 8.4, не запускаясь на фоне push-уведомления, но другие устройства делают?

Я настроить все раздражающие сертификаты и другой хлам безопасности для запуска песочницы ВРНСА, и собрал ВРНС лексему из нескольких тестовых устройств:

An iPhone 5 под управлением IOS 8.4.1 An iPhone 6 под управлением IOS 9.1 iPhone 4s работает iOS 7.0.4

Приложение имеет UIBackgroundMode удаленного уведомления, установленное в его info.plist, и я включаю в себя ключ content-available в моей полезной нагрузке.

Я также делаю UIApplication registerForRemoteNotifications вызова при запуске (или теперь устаревшего registerForRemoteNotificationTypes вызова методы для устройства IOS 7.)

На iPhone 6 и на 4s, послав удаленное оповещение запускает приложение в фоновом режиме, если оно не работает, как и ожидалось.

На iPhone 5, однако, приложение не запускается, если оно не работает.

Если я задаю звук дистанционного уведомления по умолчанию, который он воспроизводит.

Если я отправляю удаленное уведомление с помощью пары ключ/значение , устройство отображает удаленное уведомление, а нажатие/скользящее по уведомлению запускает приложение.

Я попробовал вручную запустить приложение в случае, если у меня была сила - бросить его. (На других тестовых устройствах принудительно прекращается запуск блоков приложений в фоновом режиме до тех пор, пока я не перезапущу устройство или не запустим приложение вручную, как описано в документах Apple.)

Тот факт, что другие тестовые устройства ведут себя так, как ожидалось , и тот факт, что iPhone 5 воспроизводит звук уведомления по запросу и отображает баннер уведомлений по запросу, сообщает мне, что я правильно настроил настройки.

Вопрос в том, почему iPhone 4 не запускается на задний план, как это делают другие устройства?

ответ

2

Проверьте, отключено ли обновление фона для этого приложения (или всех приложений) на iPhone 5 в настройках.
Чтобы проверить это из вашего кода: [[UIApplication sharedApplication] backgroundRefreshStatus]

+0

Так оно и было. Спасибо за предложение. –

Смежные вопросы