I'm testing an app that uses startMonitoringSignificantLocationChanges on a 3GS with IOS 4.01 (I want my app to work in any version of IOS4 so I haven't upgraded the OS on this device).
info.pllist has a "registered for location updates" background key (not needed for startMonitoringSignificantLocationChanges but needed elsewhere in the app).
I found out that if the device is in sleep mode and my app is in the background, significant location updates are not triggered even if I travel for a long distance (passing through quite a few cell towers) and a long time. But as soon as I press the Home key to wake up the device (with my app still in the background, nothing in the foreground) - the location event handler in my app gets triggered with a valid location for that area (I can verify that this is a significant location event by checking the accuracy which is well over 1000 meters).
This defies the whole idea of monitoring significant location changes, because users do not travel with their devices in active state.
Unfortunately I don't have a device with a more advanced OS to check this (all my other devices are not iPhones and they do not support startMonitoringSignificantLocationChanges).
Is this a know issue or am I doing something wrong?