2012-01-10 3 views
8

Я изучаю это уже пару дней и, похоже, не удается поддерживать соединение Bluetooth в режиме ожидания, когда телефон переспал или приложение на заднем фоне. Тем не менее, я нашел одно приложение, которое утверждает, что они могут работать все время: RunKeeper app говорит:Объектив-C/iOS: Сохранение связи Bluetooth в фоновом режиме

Что нового в версии 2.5.1.0

  • Поддержка отслеживания HeartRate в фоновом режиме с Wahoo HeartRate монитора.

Кто-нибудь знает, как им удается отправлять данные о сердечном ритме на телефон, когда приложение находится в фоновом режиме?

UPDATE:

Понял работает путем добавления записи в моем PLIST в разделе «Необходимые режимы фона» для «Bluetooth-центральный».

+1

Вы могли сохранить его в фоновом режиме более 10 минут? –

ответ

7

Вам необходимо использовать новую функцию Bluetooth Low Energy через CoreBluetooth Framework . Также обратите внимание, что это доступно в настоящее время только на iPhone4S, поскольку способность Bluetooth Low Energy зависит от оборудования Bluetooth в iPhone.

+0

Спасибо, я использую CoreBluetooth Framework. Наше приложение и соединение BLE прекрасно работают во время работы приложения. Проблема заключается в том, что телефон переходит в режим сна или если задняя часть идет на задний план, соединение BLE перестает работать. Я не видел ничего в CoreBluetooth Framework, чтобы поддерживать связь в фоновом режиме. Когда приложение находится в фоновом режиме, и мы нажимаем кнопку на устройстве BLE, телефон дает уведомление о том, что устройству нужен доступ к приложению, поэтому мне нужно снова открыть приложение вручную. – user1122025

+0

У вас есть UIBackgroundModes, установленный на внешний аксессуар в вашем info.plist? –

+3

@ DennisMathews Я думаю, что вы хотите «bluetooth-central», если используете CoreBluetooth ... –

1

В Xcode 5 есть раздел для фоновых режимов в возможностях вашего приложения. Установите фоновые режимы в положение ON и проверьте «Использует аксессуары Bluetooth LE»

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