title: iOS background polling without location services
body: <p>this is a question we've all wondered about a number of times, and no one seems to have a good answer.</p>
  
  <p>How do apps like DataMan run on a regular basis in the background, indefinitely, and still get into the app store?</p>
  
  <p>The app allows a user to turn on "precise data tracking" and select a frequency at which the app updates it's data usage counters with zero user interaction - the intervals are once every minute, once every 10 minutes, and once every 20 minutes.</p>
  
  <p>Yes, I've read all the associated <a href="http://developer.apple.com/library/ios/#documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html#//apple_ref/doc/uid/TP40007072-CH4-SW3" rel="nofollow noreferrer">Apple Documentation on background processes</a> and implemented many of them successfully. I've also <a href="https://stackoverflow.com/questions/4656214/iphone-backgrounding-to-poll-for-events/4808049#4808049">explored the ins and outs of this old post</a>, but it's old enough now that many of those "loop holes" have been patched and the documented stuff works better anyway.</p>
  
  <p>While I've had great luck with registering my app as a VOIP app and requesting a keep-alive at certain intervals, it's not app-store-ok unless it's a VOIP app (DataMan isn't). Furthermore, registering for VOIP keep-alives doesn't actually exhibit the same behavior as DataMan...VOIP keep-alive calls come at somewhat-random intervals, or at least at the frequency you select without syncing up to clock time. DataMan actually falls in line with clock-mandated intervals and updates its data counters at the :10, :20, :30 minute marks, etc.</p>
  
  <p>Any ideas?</p>