Its surprisingly difficult to find a definitive answer to this. Its not stated if this is the case or not in the Apple documentation and I couldn't find a definite yes/no after searching the internet - most of the material contradicts each other.
The Apple documentation states "If you do not call the completion handler in time, your app is terminated". But that says nothing about if your app is launched into the background in the first place in order to perform the background fetch.
By stating this Apple implies your app must already be in the background in order for performFetchWithCompletionHandler to be called, but they don't specifically say so, and if that is the case then that is opposite of what this book says "If the application is not already running in the background when a fetch is scheduled to occur, it will be launched in the background by the operating system and the fetch delegate method called."
But searching the internet turns up results that say the opposite.
The question is simple - if the app requests a background fetch to be performed after N time, then if the user terminates the app. Will the OS still launch the app into the background to perform the background fetch at some point? Yes or no?
Thanks