XMPPFramework не отправляет поддержку активности в фоновом режиме, даже если для enableBackgroundingOnSocket установлено значение TRUE
Я думаю, что название достаточно иллюстрирует. я хочу XMPPFramework
работать (как служба) в фоновом режиме и получать сообщения, даже когда приложение не находится в активном состоянии. Я поставил
xmppStream.enableBackgroundingOnSocket = YES;
Но здесь нет прогресса. Приложение переходит в фоновый режим, оно все еще принимает сообщения (и показывает уведомления) в течение нескольких секунд, но если оно неактивно в течение нескольких секунд (и также не используется (без входящего сообщения)), оно больше не будет работать в фоновом режиме. Я попытался войти в систему и увидел, что приложение отправляет пакеты keep-alive, в течение нескольких секунд после получения последнего сообщения (последнее действие), но если в течение некоторого времени не было никаких действий, оно прекращает отправлять сообщения активности, и приложение не не получать уведомления и работать больше. На случай, если это имеет значение, я установил "сохранить интервал отправки" на 5 секунд.
Я действительно ценю любую быструю помощь.
большое спасибо
2 ответа
Когда вы переходите в фоновый режим, приложение должно выйти из xmpp offiline и запрограммировать ваш сервер на отправку push-уведомлений при появлении сообщения, которое будет представлять собой аккумулятор и данные, оптимизированные для этого.
Вероятно, не связано с платформой XMPP.
Вы хотите, чтобы ваше приложение работало в фоновом режиме. Вы должны пометить его как фоновое приложение.
Проверьте: http://www.raywenderlich.com/29948/backgrounding-for-ios
Закрытое решение - сообщить iOS, что ваше приложение является приложением VOIP.
В целях тестирования вы можете просто установить "Приложение не запускается в фоновом режиме" на "НЕТ" и "Обязательные фоновые режимы" на "Приложение предоставляет услуги передачи голоса по IP".
Это делается в файле plist вашего приложения.
Однако не уверен, что Apple утвердит ваше приложение без предоставления услуг VOIP.
Надеюсь, это поможет, Ярон