Search code examples
ios7cllocationmanageribeacon

Are there iOS devices that can monitor iBeacons but not range them?


Or asked another way will

[CLLocationManager isMonitoringAvailableForClass:[CLBeaconRegion class]]

and

[CLLocationManager isRangingAvailable]

ever return different values?


Solution

  • Short answer: No, there are not any iOS devices that can monitor iBeacons but not range them. Both methods will return the same value if isMonitoringAvailableForClass is given a CLBeaconRegion instance.

    The reason the API looks this way is because the isMonitoringAvailableForClass method can be called with classes other than a CLBeaconRegion class. CLCircularRegion is used for monitoring geofence regions. The method might return NO when passed CLBeaconRegion on a device without LE Bluetooth, and return YES when passed a CLCircularRegion on the same device.