Я следил за онлайн-учебником, и в моем проекте работал следующий код, он может обнаруживать iBeacon с определенным uuid / major / minor и выполнять с ним некоторую логику. Интересно, есть ли ...

0
Viewerisland 26 Дек 2020 в 23:31

1 ответ

Лучший ответ

Вы можете настроить мониторинг местоположения в диспетчере местоположений до 20 регионов. Эти регионы могут быть либо регионами геозон на основе GPS, либо «регионами маяков», либо любым сочетанием этих двух, но вы ограничены до 20. Чтобы зарегистрировать несколько регионов маяков, вам просто нужно несколько раз вызвать свой код locationManager?.startMonitoring(for: beaconRegion) .

При создании областей маяков необходимо указать UUID. Вы можете сделать его конкретным UUID и основным / второстепенным подстановочным знаком, конкретным UUID и основным и второстепенным подстановочным знаком или конкретными значениями для UUID, основного и второстепенного идентификатора. (Я не помню, можно ли указать UUID и второстепенный и заставить его работать для любого основного. Это было давно.)

Если вы используете подстановочный знак для основного или второстепенного идентификатора, система рассматривает любое совпадающее устройство как часть того же региона, и вам необходимо написать код, который определяет, какой конкретный маяк был обнаружен. Кажется, я помню, что как только вы вошли в регион с подстановочным знаком (скажем, с конкретным UUID и любым основным или второстепенным), вы не получите новых уведомлений о "введенном регионе", если будет обнаружен второй маяк с другим основным / второстепенным . Это считается частью того же региона. В этом случае вам нужно начать прослушивание определенных уведомлений о маяках и посмотреть значения, которые вы получаете для каждого из них.

1
Duncan C 26 Дек 2020 в 23:32