iBeacon Scanning and Region Monitoring on iOS 14

ios 14

On iOS 14, Apple has changed the permissions required for iBeacon region ranging and monitoring. There’s a new Precise Location permission that needs to be set to ON for the app to continue to work. Apps that granted location permissions prior to iOS 14 default to Precise Location ON after upgrading so as not to break old code.

Apps should now detect if Precise Location is enabled. Apple has unfortunately deprecated the class function authorizationStatus(). The best way of determining whether you can detect iBeacons is to examine the location accuracy.

There’s an explanation on Medium by Nick Patrick and there’s a post on StackOverflow with an example how to detect whether Precise Location is on by examining the location accuracy.