 <p>The sort of background processing you're looking to do is not possible with push notification.</p> <p>Push notification allows you to notify the user of something. An example would be a Twitter client that sends a notification when the user receives a direct message on Twitter.</p> <p><strong>Push notification can not react to things happening on the iPhone when the app is not running.</strong> Instead, it depends on you having a server that determines when to send a notification and then sends one.</p> <p>I'm not seeing any need for background processing in your application. If you store the user's initial location, the next time the app loads you can get their location and calculate the distance between the two. If you're looking for the <em>route</em> travelled, you're out of luck unless you <a href="http://www.techcrunch.com/2008/12/18/loopt-snags-att-now-available-on-every-us-carrier/" rel="nofollow noreferrer">make a deal with AT&amp;T like Loopt just did</a>.</p>