In my app I get the information of the beacons with CoreLocation and and the LocationManager. I've set the advertising interval of the beacons to 200ms. Is it possible to call the didRangeBeacons delegate method faster, so that i get the values of the advertising package according to the advertising interval of the beacon?
相关问题
- “Zero out” sensitive String data in Swift
- SwiftUI: UIImage (QRCode) does not load after call
- Get the NSRange for the visible text after scroll
- UIPanGestureRecognizer is not working in iOS 13
- What does a Firebase observer actually do?
相关文章
- Using if let syntax in switch statement
- Enum with associated value conforming to CaseItera
- Swift - hide pickerView after value selected
- Is there a Github markdown language identifier for
- How can I vertically align my status bar item text
- Adding TapGestureRecognizer to UILabel in Swift
- Attempt to present UIAlertController on View Contr
- Swift - Snapshotting a view that has not been rend
No, you cannot alter the frequency of the
didRangeBeacons:inRegion
callback, which is 1 Hz regardless of the beacon advertising frequency.You can get callbacks for each beacon advertisement (every 200 ms in your case) using
CoreBluetooth
APIs, but there are a couple of restrictions:It will not work with iBeacon transmissions as iOS blocks access to iBeacon advertisement data in
CoreBluetooth
. You can use AltBeacons, which are iBeacon compatible, and get the more frequent updates with those. You can buy beacons that send out both iBeacon and AltBeacon transmissions.It will only work in the foreground. You cannot get Bluetooth LE manufacturer advertisements in the background on iOS.
Full disclosure: I am Chief Engineer at Radius Networks which sponsors the open source AltBeacon standard.