Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

locationManager:rangingBeaconsDidFailForRegion:withError: kCLErrorDomain 16

I have read CLLocationManager kCLErrorDomain Codes? as well as Apple Docs

I check to make sure ranging is available before calling startRangingBeaconsInRegion: and I am also checking if ranging is available while in the locationManager:rangingBeaconsDidFailForRegion:withError: method. Returns true both times.

When I get the set of monitoredRegions, my beacon is in the set (so registering for monitoring is working).

I have read that error 16 can mean ranging is unavailable, bluetooth could be off, location services could be off, airplane mode could be on, I have checked them all and all are available and running (obviously not in airplane mode).

What could be causing the ranging to fail, every time I run the app?

like image 544
akl Avatar asked Jan 03 '14 14:01

akl


1 Answers

It seems that I started to face this issue after I updated my device to iOS 7.1 (iPhone 5S). rangingBeaconsDidFailForRegion: gets called with error.domain equal to @"kCLErrorDomain" and with error.code as kCLErrorRangingUnavailable (16) (even though Airplane mode is not on and Bluetooth is up and running).

I followed davidgyoung's advice to just boot (I did a hard boot pressing Home + Power until the device shuts down and displays the Apple logo, but also a normal boot works) the device, and now it seems to work correctly.

This appears to be a bug in iOS 7.1 and iOS 7.1.1, see here https://stackoverflow.com/a/22949187/1461050. The only workaround - for now - is to reboot the device.

Apple has now released iOS 7.1.2, which should fix this problem (awaiting for confirmation).

like image 83
Markus Rautopuro Avatar answered Oct 29 '22 04:10

Markus Rautopuro