Может ли устройство iOS7 выступать в качестве iBeacon?
Может ли устройство iOS7 выступать в качестве iBeacon и определять, когда другие устройства iOS7 входят в его диапазон? Этим другим устройствам iOS7 нужно включить Bluetooth?
6 ответов
Устройство iOS с BluetoothLE может действовать как iBeacon.
Посмотрите пример кода AirLocate по адресу https://developer.apple.com/downloads/index.action?name=WWDC%202013
Будучи iBeacon, не дает отзывов об устройствах, которые входят в радиус действия, поэтому вам придется реализовать это самостоятельно. то есть вам нужно иметь устройства, которые обнаруживают iBeacon, а затем сообщать iBeacon, что они видели его другими способами.
Да, устройство iOS может выступать в качестве маяка от iPhone 4s и выше (требуется Bluetooth 4.0).
Вы публикуете маяк, передавая словарь из [CLBeaconRegion peripheralDataWithMeasuredPower:]
в [CBPeripheralManager startAdvertising:]
,
Публикация маяка не даст вам никаких отзывов об устройствах, вам придется искать других, публикующих маяк.
Что касается фонового изображения, вы не можете публиковать маяк в фоновом режиме, для этого ваше приложение должно быть запущено на переднем плане. Сканирование возможно в фоновом режиме.
Да, устройство iOS7 может действовать как iBeacon. Вы можете сделать именно то, что вы предлагаете, если у вас есть приложение, установленное на всех телефонах, и вы также создаете веб-сервис. Это позволило бы телефону A видеть телефоны B и C, когда они находятся рядом:
- Ваше приложение на телефоне А действует как iBeacon, рекламируя свое присутствие.
- Телефоны B и C видят этот iBeacon, разбудив ваше приложение, чтобы позвонить вашему веб-сервису и сообщить, что они оба видят передачу по телефону А.
- Ваше приложение на телефоне A запрашивает эту веб-службу, которая возвращает список телефонов, которые видят Телефон A. В этом примере список включает телефоны B и C. Ваше приложение обновляет свой дисплей этим списком.
Всем телефонам потребуется Bluetooth LE, он должен быть включен и ваше приложение установлено. Им также потребуется подключение к Интернету для вызова веб-службы.
Если вы не настроены на использование iBeacons, этот проект использует Bluetooth LE для обмена массивами идентификаторов между соседними телефонами - SimpleShare
Вы можете установить идентификатор пользователя каждого телефона, поделиться им между телефонами через Bluetooth LE с помощью проекта SimpleShare (даже в фоновом режиме), а затем запросить веб-службу, чтобы узнать больше информации о пользователе с этим идентификатором.
Один момент, который не был четко сформулирован в предыдущих ответах, заключается в том, что для того, чтобы публикация работала (например, в ответном письме Дэвида "Телефон А"), приложение, которое начало публикацию, должно быть на переднем плане.
Из документации Apple:
Пока ваше приложение находится в фоновом режиме, локальное имя не объявляется, и все UUID службы размещаются в области переполнения.
Как уже упоминалось, устройство iOS 7 может выступать в качестве iBeacon, если это технология Bluetooth LE.
Для использования iBeacon вам потребуется iOS 7 или более поздняя версия, Bluetooth включен и совместимое устройство iOS:
- iPhone 4s или позже
- iPad (3-го поколения) или позже
- iPad mini или более поздняя версия
- iPod touch (5-го поколения) или новее.