Monitoring in the background - iOS 8.3

My app uses monitoring to detect entry to and exit from a region. Events are triggered by a transition, so it frequently gets put in the background where monitoring continues. This is where it gets weird.

  • If the iPhone is OUTSIDE the region when it goes to background nothing happens and no events are generated until it goes INSIDE the region.
  • If the iPhone is INSIDE the region when it goes to background an exit event will occur in less than one minute. From 1 to 50 seconds after that an enter event will occur. This cycle repeats with random time intervals until the iPhone physically leaves the region. When it returns to the region a single entry event will occur, then nothing else until it leaves the region.

This behavior is not happening due to the beacons. Observing them with the Estimote app in another device shows that they are behaving completely normally. The weird stuff is coming from iOS 8.3. It should be noted that in testing I am not physically moving the iPhone, but am instead turning the beacons upside down to activate the sleep mode. It’s much faster to test this way, but maybe that has something to do with the behavior. I know that what goes on the background with iOS is pretty much black magic - has anyone else observed behavior like this? I’d rather not have to code around it if I don’t have to!

Hey, let me check if I understand this correctly. You have an app that does background monitoring, and it keeps triggering false exits and enters even though the phone is still inside the range of a beacon, is that right?

Could you try setting the beacon’s advertising interval to 100 ms and see if this helps? What’s the broadcasting power of your beacon? How far away the phone is from the beacon?

The phone was literally next to the beacon. However it may be an iOS issue, as restarting the phone seems to have cleared the problem.