Рандомизировать Ma c Адрес в BLE - PullRequest
1 голос
/ 03 марта 2020

Я сделал одно приложение, которое превращает устройство iOS в маяк. Теперь, когда я сканирую устройства BLE с устройства android, я получаю это устройство iOS в списке сканирования, но проблема возникает каждый раз, когда я получаю случайный адрес Ma c.

Итак, мой вопрос: означает ли это поведение по умолчанию получение случайного адреса ma c? Я проверил все вопросы о переполнении стека и получил тот же ответ, но все же я хочу подтвердить его?

Кроме того, если изменение адреса ma c является поведением по умолчанию, то можем ли мы получить его при изменении адреса ma c?

То же самое и для android. Если мое устройство android работает как маяк и если я его сканирую, то все равно оно будет вращать мой адрес ма c?

1 Ответ

2 голосов
/ 03 марта 2020

Всякий раз, когда вы рекламируете BLE, устройства iOS будут автоматически поворачивать адрес MA C рекламных пакетов после неопределенного периода и условий.

Точные условия и частота, с которой это происходит, не документированы, являются собственностью и могут быть изменены Apple в любое время. Не существует надежного способа предсказать, когда устройство iOS будет вращать MA C текущей рекламы BLE, хотя случайное тестирование показывает, что оно часто остается стабильным в течение нескольких минут за один раз.

Единственный способ знать, когда изменения MA C должны заставить iOS объявить известный идентификатор iBeacon, который не рекламируется никаким другим устройством, находящимся поблизости, и отследить этот идентификатор на Android или другой ОС, которая позволяет вам читать MA C необработанной рекламы. , Затем вы можете непосредственно измерить, когда MA C изменится.

Вышеприведенный метод работает, но в большинстве случаев он мало пригоден, так как требует двух устройств в непосредственной близости и фиксированной рекламы iOS. .

...