2015-12-11 2 views
1

Хотелось бы узнать, можно ли разрешить рекламировать сервисы через coreBluetooth с помощью устройства, действующего как периферийное устройство, а также для iBeons, а также выполнить как в фоновом режиме? По существу, целью является диапазон для маяков, а затем, если маяк находится в пределах .Near или .Immediate range, обновите характеристики услуги, рекламируемой устройством. Я могу с радостью выполнить задачу ранжирования, и хотя я нашел информацию о устройстве, выступающем в качестве периферийного slim, я думаю, что могу управлять этим, однако, будучи неоднократно остановлен ограничениями функциональных возможностей фона, я хотел знать, возможен ли этот тип сценария прежде чем я потрачу много времени, пытаясь добиться чего-то, что, как выясняется, все знают, невозможно. Я новый для Swift и iOS в целом, поэтому мне нужно много времени, чтобы многое сделать. Любые советы будут очень признательны. ThanksИнтеграция периферийных устройств iBeacon и coreBluetooth

ответ

2

Это возможно, хотя в фоновом режиме есть ограничения.

передний план:

  • Именно то, что вы описали это возможно. iOS позволяет одновременно рекламировать услугу Bluetooth LE, используя CoreBluetooth, в то время как для iBeacons используется CoreLocation.

фон:

  • Ios пределы фон маяк сканирование использование CoreLocation «ы маяка в диапазоне API, только пяти секунд после того, как области маяка впервые обнаружен. Вы можете продлить эти пять секунд сканирования до трех минут, используя технику в сообщении в блоге, которое я написал here. Расширение дольше требует добавления в фоновый режим местоположения вашего Info.plist, что может затруднить получение одобрения вашего приложения для AppStore.

  • Реклама услуг Bluetooth LE на заднем плане на iOS не работает, как реклама на переднем плане. Он использует проприетарную технику Apple, чтобы свернуть идентификаторы сервисов в меньший рекламный пакет, который используется во всех приложениях, рекламирующих услуги Bluetooth LE. Они не могут быть легко обнаруживаемым устройства без IOS Bluetooth LE:

Ключа рекламы CBAdvertisementDataLocalNameKey игнорируются, а локальное имя периферии не афишируются. Все служебные UUID, содержащиеся в значении ключа рекламы CBAdvertisementDataServiceUUIDsKey, помещаются в специальную область «переполнения»; они могут быть обнаружены только устройством iOS, которое явно сканирует их. Если все приложения, являющиеся рекламой, находятся в фоновом режиме, частота, с которой ваше периферийное устройство отправляет рекламные пакеты, может уменьшиться.

Смотрите Bluetooth-периферийная фона Execution Mode раздел here для получения дополнительной информации.

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