How to know whether app is terminated by user or iOS (after 10min background)

ChangUZ picture ChangUZ · Sep 8, 2011 · Viewed 12.3k times · Source

How to know whether app is terminated by user or by iOS when restart app>

'By user' means "by Double-clicking Home Button and pressing - button". killed by user

'By iOS' means "app become background running state, and iOS terminate app after 10 mins"

Answer

Inder Kumar Rathore picture Inder Kumar Rathore · May 13, 2015

If your app is in suspended state the applicationWillTerminate will never get called regardless who killed the app iOS or user.

Your applicationWillTerminate will only call when your app is in background and it gets killed (either by iOS or user) the term background means that it is running in background not in suspended state.

Just read this reference

applicationWillTerminate:—Lets you know that your app is being terminated. This method is not called if your app is suspended.

Here is the table of various states enter image description here

Background - The app is in the background and executing code. Most apps enter this state briefly on their way to being suspended. However, an app that requests extra execution time may remain in this state for a period of time. In addition, an app being launched directly into the background enters this state instead of the inactive state. For information about how to execute code while in the background, see Background Execution.