title: iOS 7 Background Location updates high accuracy, low battery usage with pausing disabled
body: <p>I'm working on an app which notifies the user of pre-defined locations as they enter or leave it. The span of a location can be as low as 50 meters, so it needs to be fairly accurate and regular. The location updates are currently sent to a server, which determines wether the user is within a location region and sends notifications accordingly.</p>
  
  <p>Our problem is that the iOS 7 change the location pausing has become a major issue. The app is still open (in app switcher), but after 15 minutes no more location updates are received until the app is re-opened. But the user needs to be notified of all future locations they enter. Using the "setPausesLocationUpdatesAutomatically" method to disable pausing causes GPS to be enabled constantly regardless of the defined activity type.</p>
  
  <p>I'm fairly certain I've almost exhausted all methods available to fulfil all requirements. Prior to iOS 7 our app worked great. The battery life was acceptable (I do understand it will never be perfect), on a daily charge cycle but we need to improve it somewhat.</p>
  
  <p>Here's a quick run down on our solutions so far:</p>
  
  <ul>
  <li>Keep a local copy of locations and register them using CLLocationManager regions. Unfortunately we found the accuracy of this very bad and enter/exit methods were called too late to be viable</li>
  <li>A custom location model; initially using significant location updates, switching to standard location updates when the user moves x meters. But significant location updates are only given every 500 meters and every 5 minutes</li>
  <li>Similar to above, except use the accelerometer to enable location updates based on a number of steps. But the accelerometer data isn't available whilst in a background state</li>
  <li>Turn on location updates every 3 minutes from a finite running background task - this works but I'm not sure if every 3 minutes regardless of other circumstances would effect battery life too much</li>
  <li>Another idea, although not tested would be to rely on Passbook to send notifications. From experience it's more reliable. Of course this is a fairly big change and not something we have tested yet.</li>
  </ul>
  
  <p>A classic example of what we're trying to achieve, in terms of accuracy and reliability is Moves. I use it constantly and it's always active and last a full day in terms of battery life.</p>
  
  <p>Basically I'm asking if anyone has used any of my mentioned solutions or has any other working solutions or configurations?</p>
  
  <p>I'm very much hoping that someone out their can influence one of my existing solutions or even provide a new, working solution because I'm not sure there's much else that can be done.</p>
  
  <p>Thanks very much in advance to anyone reading this.</p>