iosibeaconclregionuibackgroundtask

iBeacon Region monitoring: Not resumed when rebooting the phone EXCEPT if I set location background mode?


all day I tested the monitoring of beacons my app does. in general it works ok:

BUT

after a reboot it doesn't work until I launch ANY app that uses BluetoothLE

after I do that it works fine for my app as well!


But if I set UIBackgroundMode location in my plist though, my app gets region notifications just fine even after a reboot.

So... is that it? or whats the deal here? :D this is under ios 7.1.1 btw

The code is very minimal: https://github.com/RadiusNetworks/ibeacon-background-demo/blob/master/BackgroundDemo/BDAppDelegate.m


Solution

  • I did two things:

    First, I reduced the time it took the app to launch >> mainly by doing stuff only when the app moves to the foreground. That was Step 1 but for the real app I was working on that alone was only half the solution

    I then found out that the application in question tried to access the keychain in the background while the device was locked I moved that to a later point too and BING it worked!