I know this has been asked in many varieties but I have yet to see a full answer for this. I just get a lot of conflicting information.
I'm trying to use iBeacon for a home automation use case. For example, if I walk into a room with an iBeacon I turn on the lights in that room. As you can imagine, I need this to be pretty prompt (within a couple of seconds of walking in the room). When I have my app in the foreground, this works great - the timing is prompt for both entering and exiting the region. However, if the app is in the background it's more unreliable. If I call [self.locationManager startUpdatingLocation] and never stop updating location, the iBeacon detection works the same as if the app is in the foreground. However, I assume this is not the intended use case as that will probably drain your battery after a while. My questions are:
- What is the expected time for monitoring iBeacons (just getting entry / exit callbacks) in the background vs the foreground?
- Is there a way to have iBeacons in the background work as quickly as the foreground without calling [self.locationManager startUpdatingLocation]? Once the location arrow turns from active location monitoring to the arrow with the geofence outline, I immediately stop getting iBeacon notifications.