问题
all day I tested the monitoring of beacons my app does. in general it works ok:
- notifications in foreground work
- notifications in background work
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
回答1:
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!
来源:https://stackoverflow.com/questions/23711378/ibeacon-region-monitoring-not-resumed-when-rebooting-the-phone-except-if-i-set