Может ли устройство iOS7 действовать как iBeacon?

Может ли устройство iOS7 действовать как iBeacon и выяснить, когда другие устройства iOS7 входят в его диапазон? Должны ли те другие устройства iOS7 включить Bluetooth?

Ответ 1

Устройство iOS с BluetoothLE может действовать как iBeacon да.

Посмотрите пример кода AirLocate на https://developer.apple.com/downloads/index.action?name=WWDC%202013#

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

Ответ 2

Да, устройство iOS может выступать в качестве маяка с iPhone 4 и выше (требуется Bluetooth 4.0).

Вы публикуете маяк, передавая словарь из [CLBeaconRegion peripheralDataWithMeasuredPower:] в [CBPeripheralManager startAdvertising:].

Публикация маяка не даст вам обратной связи на устройствах, вам придется сканировать другие, публикующие маяк.

Что касается фона, вы не можете опубликовать маяк в фоновом режиме, для этого приложение должно быть запущено на переднем плане. Сканирование возможно в фоновом режиме.

Ответ 3

Да, устройство iOS7 может выступать в качестве iBeacon. Вы можете сделать именно то, что вы предлагаете, если у вас установлено приложение на всех телефонах, и вы также пишете веб-службу. Это позволит телефону A видеть телефоны B и C, когда они находятся поблизости:

  • Ваше приложение на телефоне A действует как iBeacon, рекламируя его присутствие.
  • Телефоны B и C видят этот iBeacon, пробуждая ваше приложение, чтобы позвонить в ваш веб-сервис, сообщая, что они оба видят передачу телефона A.
  • Ваше приложение на телефоне запрашивает эту веб-службу, которая возвращает список телефонов, которые видят телефон A. В этом примере список включает телефоны B и C. Ваше приложение обновляет его отображение этим списком.

Для всех телефонов потребуется Bluetooth LE, включите его и установите приложение. Им также потребуется подключение к Интернету для вызова веб-службы.

Ответ 4

Если вы не используете iBeacons, этот проект использует Bluetooth LE, чтобы разделить массив идентификаторов между соседними телефонами - SimpleShare

Вы можете установить идентификатор пользователя для каждого телефона, поделиться им между телефонами через Bluetooth LE с помощью проекта SimpleShare (даже в фоновом режиме), а затем запросить веб-службу, чтобы узнать больше информации о пользователе с помощью этот идентификатор.

Ответ 5

Одно из замечаний, которое не ясно из предыдущих ответов, заключается в том, что для того, чтобы публикация работала (например, в ответе Дэвида на телефон A), приложение, которое начало публикацию, должно быть на переднем плане.

Из Apple documentation:

Пока ваше приложение находится в фоновом режиме, локальное имя не объявляется и все служебные UUID помещаются в область переполнения.

Ответ 6

Как уже упоминалось, устройство iOS 7 может выступать в качестве iBeacon, если это технология Bluetooth LE.

Чтобы использовать iBeacon, вам нужно iOS 7 или новее, Bluetooth включен и совместимое устройство iOS:

  • iPhone 4s или более поздняя версия
  • iPad (3-го поколения) или более поздняя версия
  • iPad mini или более поздняя версия
  • iPod touch (5-го поколения) или более поздней версии.

http://support.apple.com/kb/HT6048