Инициирование повторного подключения CoreBluetooth с периферийного устройства

У меня есть iPhone, у меня есть устройство Bluetooth с низким энергопотреблением (также известное как Bluetooth 4.o). Эти двое были связаны в прошлом. Но сейчас они в разлуке. Что-то случилось, были сказаны слова, которые нельзя было вернуть назад, и вот они разъединились.

Теперь они снова в одной комнате. Устройство BTLE снова хочет подключиться. Он не хочет ждать, пока iPhone позвонит ему. Это проявление инициативы. Он хочет поговорить с iPhone и снова запустить приложение, которым они делились.

Как настроить код iPhone для поддержки этого?


person baudot    schedule 30.07.2012    source источник


Ответы (2)


(Вау, банально.)

Вы должны оставить приложение, подключающееся к устройству, поэтому, когда устройство станет доступным, приложение подключится к нему (пока приложение живо). Просто вызовите [centralManager connectPeripheral] на CMPeripheral, чтобы телефон продолжал прослушивать устройство и сразу же подключался, как только его увидел. Это не истекает по времени, поэтому вы можете просто оставить его включенным навсегда.

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

person Glenn Maynard    schedule 30.07.2012

Это немного поздно, но вот что я бы сделал для этого:

  • Когда ваше устройство хочет подключиться, попросите его рекламировать специальную услугу.
  • Предполагая, что телефон уже сканирует устройства, он увидит службу, и вы сможете автоматически подключиться к ней.
  • Теперь вы можете настроить периферийный триггер на центральный как угодно, обновив характеристику и т. д.

Конечно, это зависит от сканирования телефона в то время, когда вам нужно выполнить действие, но такова природа зверя.

person William henderson    schedule 17.04.2013