Получить расстояние от маяка Эддистоун

Я внедряю маяки в свое приложение с платформой маяков Google. В настоящее время маяк можно обнаружить с большого расстояния. Мне нужно ограничить диапазон обнаружения, что сейчас совершенно невозможно. Другой вариант, который я рассматриваю, чтобы определить расстояние между iPhone и маяком. Есть ли что-нибудь, предоставленное Google или SDK с открытым исходным кодом, которое может помочь мне добиться желаемого поведения?


person bisma    schedule 18.07.2018    source источник
comment
Вы можете сделать это, используя диапазон, все маяки поддерживают это, насколько я знаю.   -  person Reinier Melian    schedule 18.07.2018
comment
проверьте этот developer.apple.com/documentation/corelocation/   -  person Reinier Melian    schedule 18.07.2018
comment
Я проверил это, но это не работает. Этот код не обнаруживает никаких маяков.   -  person bisma    schedule 18.07.2018
comment
Apple работает только с iBeacon. я спрашиваю про эддистоун   -  person bisma    schedule 18.07.2018


Ответы (1)


Документации довольно мало, но у меня есть открытый исходный код здесь, определяющий Eddystone на iOS и дальномерные маяки с ним.

Вот пример того, как вы используете его для обнаружения Eddystone-UID:

var scanner: RNLBeaconScanner?

scanner = RNLBeaconScanner.shared()
scanner?.startScanning()

// Execute this code periodically (every second or so) to view the beacons detected
if let detectedBeacons = scanner?.trackedBeacons() as? [RNLBeacon] {
   for beacon in detectedBeacons {
        if (beacon.beaconTypeCode.intValue == 0x00 && beacon.serviceUuid.intValue == 0xFEAA) {
            // this is eddystone uid
            NSLog("Detected EDDYSTONE-UID with namespace %@ instance %@", beacon.id1, beacon.id2)
            NSLog("The beacon is about %.1f meters away", beacon.distance)

        }
    }        
}
person davidgyoung    schedule 18.07.2018
comment
Да, пожалуйста, я был бы очень признателен. - person bisma; 19.07.2018
comment
Я обновил свой ответ примером и добавил README в репозиторий. - person davidgyoung; 20.07.2018
comment
я реализовал, как вы указали, но он не обнаруживает мои маяки. Метод проверки соответствия байт-кода маяку, всегда возвращающему NO. - person bisma; 20.07.2018
comment
можете ли вы зарегистрировать код типа маяка и serviceUuid? Кто они такие? - person davidgyoung; 20.07.2018
comment
@davidgyoung спасибо за решение. Но это не регистрирует мои маяки. такая же регистрация маяков, если я предпочитаю демонстрационный код ObjC. - person Ruchira More; 04.10.2019