CLLocationManager beacon ranging provides empty beacon array
Originator: | alex | ||
Number: | rdar://31886860 | Date Originated: | 28/4/2017 |
Status: | Open | Resolved: | |
Product: | iOS | Product Version: | 10.3.1 |
Classification: | Serious Bug | Reproducible: | Rarely |
Area: Core Location Summary: We're using region monitoring to detect when a beacon with a known proximity UUID is within range of the iOS device. When the device enters the region, CLLocationManager is instructed to start ranging beacons in the region. The delegate method locationManager(_:didRangeBeacons:in:): provides an empty beacon array shortly after ranging begins, despite being inside the beacon region. Turning Bluetooth off and on via Control Center results in ranging correctly providing beacons. I haven't been able to pin this down to a specific device or iOS version. Steps to Reproduce: * Begin region monitoring with a known UUID * Await locationManager(_:didEnterRegion:): or request state of region * Begin ranging when device enters region (or is already inside region) Expected Results: The delegate method locationManager(_:didRangeBeacons:in:): should provides an array containing at least one beacon, since the device must inside the region to trigger ranging. Actual Results: Device enters (or is inside region) and the delegate method locationManager(_:didRangeBeacons:in:): provides an empty array. Version: iOS 10.3.1
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!