Одновременное использование маяков сканирования CoreLocation и CoreBluetooth - PullRequest
0 голосов
/ 01 декабря 2018

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

Теперь необходимо добавить поддержку сканирования маяков Eddystone;но CoreLocation не поддерживает этот тип маяков.Следовательно, я должен использовать CoreBluetooth для сканирования и извлечения данных из маяков Eddystone, пожалуйста, обратитесь к этому очень информативному посту от @davidgyoung для дальнейшего понимания.

https://stackoverflow.com/a/41744019/6792878

Итак, поскольку CoreLocation и CoreBluetooth используют Bluetooth, я начал думать о том, как лучше всего сканировать оба типа маяков, поэтому я пришел к выводусо следующим:

  • Возможность совместного использования CoreLocation и CoreBluetooth, сканирования CoreLocation для iBeacon и CoreBluetooth для сканирования других типов (в данном случае Eddystone).Но не нашел ничего, что указывало бы или отрицало, если они прерывают / влияют на сканер друг друга.

  • Отключите CoreLocation и внедрите только сканер CoreBluetooth для обоих типов, что потребует более сложной работы, чтобы углубиться в детали маяков.

1 Ответ

0 голосов
/ 05 декабря 2018

Если вы хотите сканировать iBeacon и другие типы маяков на iOS, вы должны использовать и CoreLocation и CoreBluetooth.Они отлично работают вместе.

Важно отметить, что невозможно сканировать iBeacon с CoreBluetooth , поскольку iOS блокирует доступ к необработанным байтам любого пакета, соответствующего формату iBeacon, возвращаяпустые данные изготовителя NSData объект.

Чтобы увидеть пример их совместной работы без проблем, посмотрите мое приложение Locate Beacon для iOS, которое сканирует iBeacon (с CoreLocation) и Eddystone и AltBeaconс CoreBluetooth.Включите оба типа маяка поблизости, и приложение обнаружит оба одновременно.Действительно, примеры снимков экрана в AppStore показывают это.

Хотя код этого приложения не является открытым исходным кодом, основы его сканирования для AltBeacon и CoreBluetooth являются открытым исходным кодом в iOS Beacon Tools проект.

...