Может ли устройство iOS7 действовать как iBeacon и выяснить, когда другие устройства iOS7 входят в его диапазон? Должны ли те другие устройства iOS7 включить Bluetooth?
Может ли устройство iOS7 действовать как iBeacon?
Ответ 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-го поколения) или более поздней версии.