Мое приложение использует аксессуары Bluetooth, поэтому я включаю соответствующий фоновый режим. Возможно ли постоянно получать данные гироскопа CoreMotion в фоновом режиме?Возможно ли получить данные о данных гироскопа, когда приложение находится в фоновом режиме
Сценарий заключается в сканировании и подключении периферийного устройства BLE, когда приложение находится в фоновом режиме. И чтобы обнаружить поворот телефона, когда приложение находится в фоновом режиме, и отправить что-то в устройство BLE, когда обнаружено некоторое движение.
Обновление данных гироскопа использует созданный нами NSOperationQueue. Он начинается, как только загружается первое представление.
Когда я тестирую его с помощью приложения на переднем плане, подключается периферийное устройство BLE, а затем помещается в фоновом режиме. Обновление данных гироскопа скоро прекращается. Когда я выхожу из диапазона BLE, данные гироскопа снова начинаются, а затем прекращаются. Я вошел в периферийный диапазон BLE, данные гироскопа снова показывают. (Я иду с iPhone, подключенным к ноутбуку с запуском XCode и видя его непосредственно из журналов).
Есть ли способ надежно получить данные гироскопа в любое время, даже если приложение находится в фоновом режиме?
У меня есть режим Bluetooth в фоновом режиме - bluetooth-central on. Но это, похоже, не делает этого непрерывно. Для моего приложения не имеет смысла использовать аудио или GPS-трекинг. Любые другие решения? – huggie
Часто ли ваше устройство BT отправляет данные в ваше приложение? Поскольку это BLE, отсутствие связи может дать iOS возможность приостановить ваше приложение. Это может объяснить, почему вы получаете обновления CoreMotion, когда вы попадаете в диапазон и вне диапазона. –
Работает, когда я повторяю запрос на обслуживание. Благодарю. Теперь нет способа гарантировать, что приложение будет работать бесконечно? В какой-то момент, если откроется много программ, это можно убить? – huggie