Фоновая проблема времени для приложения Bluetooth LE для Iphone 4s
Я использую core-bluetooth framework для своего приложения в Iphone-4s.
Обычно это должно быть фоновое приложение, которое может работать как можно дольше.
Теперь он работает только в течение 40 минут - максимум 1 час.
Я надеюсь, по крайней мере, 1 день или около того.
Для этого «bluetooth-центральный» значение добавляется в «Обязательные фоновые режимы» введите файл .plist.
Похоже, что мое приложение будет "приостановлено" режим, в конце. так как, когда я снова открываю приложение (фон в состояние переднего плана), оно снова отправляет уведомление, это означает, что соединение Bluetooth все еще подключено, а BLE-устройство все еще отправляет уведомление. Если я нажимаю кнопку «Домой» и приложение переходит в фоновый режим, оно НЕ получает уведомление снова.
Кто-нибудь может сказать мне, почему мое приложение живет в фоновом режиме только в течение 1 часа. Он должен продолжать работать как обычное музыкальное приложение в фоновом режиме, как навсегда.
Говорит ли Apple что-то конкретное о том, при каких условиях фоновое приложение (которое является одним из тех непрерывно работающих фоновых приложений, попадающих в 5 категорий) не работает, и оно переходит в режим ожидания?
Ссылаясь & quot;iPhoneAppProgrammingGuide
& quot ;, on & quot;Communicating with a Bluetooth Accessory
& Quot; раздел,
Я узнал, что для длительной фоновой задачи для приложений Bluetooth LE необходимы 2 реализации:
1) Ключ UIBackgroundModes должен быть «bluetooth-центральным» вInfo.plist
файл.
2) Любое приложение, которое поддерживает фоновую обработку данных Bluetooth, должно основываться на сеансах.
Так что для моего приложения была внедрена ПЕРВАЯ реализация, и с этим приложением можно работать в фоновом режиме и выполнять все задачи для максимальная продолжительность 1 час.
Теперь мне нужно реализовать 2-е внедрение. т.е. на основе сеанса. Что позволит получать события, даже если приложение находится в режиме «приостановить». государство
согласно документации. Я попытался найти подходящую сессию, специфичную для Bluetooth LE (базовая структура Bluetooth), например
& Quot;EASession
& Quot; подарок для Classic Bluetooth (Внешние аксессуары). Но я не нашел это.
В основном я не уверен, какой класс сеанса мне нужно использовать для целей BLE. Для аудио / видео, сетей и Интернета, внешний аксессуар, Есть индивидуальный сессионный класс. Там нет ничего для Core Bluetooth Framework.
Может ли кто-нибудь помочь мне с тем, какой класс сессии подходит для BLE.