3

I've noticed from my DNS logs that domains associated with a small minority of my 3rd-party apps are accessed approximately every half hour or every hour, even when the relevant app is not active, and even when the phone is locked.

My understanding in the past was that 3rd-party apps do not execute unless they are the active app, and that notifications all come through a centralized Apple service. What mechanism is being used to allow this communication, and what reasons are there for these apps to need to phone home so frequently when there is no app activity?

migrated from stackoverflow.com Dec 3 '13 at 16:58

This question came from our site for professional and enthusiast programmers.

  • Does this help: stackoverflow.com/questions/5840365/… – dcaswell Aug 27 '13 at 4:38
  • Thanks. I don't recall being prompted to run audio in the background. Also, it isn't necessarily a persistent connection, only an occasional one. It occurred to me there may be some callback from notification events, but they would have to be silent notifications as none appear when this is happening. So the mechanism (and reason) for these DNS requests is a mystery. – pseudon Aug 27 '13 at 4:44
  • Since iOS 7 now allows Background App Refresh, including the ability to disable it, and disabling seems to prevent the behavior that was occurring in iOS 6 (judging by my DNS logs), I think this question can be closed. – pseudon Dec 9 '13 at 4:25
  • I am seeing the same behavior in iOS 7 after all, again even with the app completely quit, and all Background App Refresh disabled. It could be that the OS is pre-caching DNS requests for recently-used but inactive apps, but I've found no authoritative answer. – pseudon Jan 9 '14 at 17:20
1

Apple documents high level functionality in an article on background processes:

You could look at archive.org to look at a version of this for iOS 6, but pretty much everything from iOS 7 applies in iOS 6 except for the new "background app refresh" functionality.

If you wanted a deeper understanding on how multitasking works, I would start with this section of the developer documentation:

Without capturing APNS traffic (or using Instruments to trace the OS while it runs), it's hard to tell if 30 minute access are a result of Local Notifications or perhaps push notifications being sent from the server side causing the app to wake periodically. Hopefully this is enough to get you started on tracking things down.

  • I may have missed something in the Apple support document, but it does not seem to address my question. Archive.org did have an iOS 6 version, which was almost identical except for Background App Refresh. As a user-facing document, I wouldn't expect it to be comprehensive though. – pseudon Dec 9 '13 at 4:23
  • I see your edits. I had actually looked at the developer docs before posting the question and still didn't see how it could be working through notifications without some audible or visible indication on the phone. Something not (well) documented was happening in iOS 6, and it's still a mystery. Luckily, iOS 7 seems to have a way to stop this behavior. – pseudon Dec 9 '13 at 6:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .