Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>Unfortunately, all of your assumptions seem correct, and I don't think there's a way to do this. In order to save battery life, the iPhone's location services are based on movement. If the phone sits in one spot, it's invisible to location services.</p> <p>The <code>CLLocationManager</code> will only call <code>locationManager:didUpdateToLocation:fromLocation:</code> when the phone receives a location update, which only happens if one of the three location services (cell tower, gps, wifi) perceives a change. </p> <p>A few other things that might help inform further solutions:</p> <ul> <li><p>Starting &amp; Stopping the services causes the <code>didUpdateToLocation</code> delegate method to be called, but the <code>newLocation</code> might have an old timestamp.</p></li> <li><p><a href="http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/CoreLocation/CoreLocation.html#//apple_ref/doc/uid/TP40009497-CH2-SW10" rel="nofollow">Region Monitoring might help</a> </p></li> <li><p>When running in the background, be aware that it may be difficult to get "full" LocationServices support approved by Apple. From what I've seen, they've specifically designed <code>startMonitoringSignificantLocationChanges</code> as a low power alternative for apps that need background location support, and strongly encourage developers to use this unless the app absolutely needs it.</p></li> </ul> <p>Good Luck!</p> <p>UPDATE: These thoughts may be out of date by now. Looks as though people are having success with @wjans answer, above.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload