Question

I found this line in the iOS App Programming Guide:

Including the voip value in the UIBackgroundModes key lets the system know that it should allow the app to run in the background as needed to manage its network sockets. An app with this key is also relaunched in the background immediately after system boot to ensure that the VoIP services are always available.

And I find this statement to be true in general. However, if the user force closed the application before rebooting their device, my experience has been that the app is not automatically relaunched on device boot. Can I get some clarification on the expected behavior in this particular case?

Was it helpful?

Solution

All credit goes to "The Eskimo" on this one...

It's generally true that apps that the user 'quits' using the multitasking UI are not automatically launched again. The system takes that as a hint from the user that it should not relaunch the app. If the user wants the app to be automatically launched in future, they must manually launch it at least once.

For VoIP apps this has been the case since VoIP support was introduced. For other types of automatically launched apps the implementation of this heuristic has been less consistent, although I believe that with iOS 7 it's now applied across the board.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top