Instance Method


Asks the delegate whether the app’s saved state information should be restored.


optional func application(_ application: UIApplication, shouldRestoreApplicationState coder: NSCoder) -> Bool



Your singleton app object.


The keyed archiver containing the app’s previously saved state information.

Return Value

true if the app’s state should be restored or false if it should not.


Apps must implement this method and the application(_:shouldSaveApplicationState:) method for state preservation to occur. In addition, your implementation of this method must return true each time UIKit tries to restore the state of your app. You can use the information in the provided coder object to decide whether or not to proceed with state restoration. For example, you might return false if the data in the coder is from a different version of your app and cannot be effectively restored to the current version.

See Also

Managing App State Restoration

func application(UIApplication, shouldSaveApplicationState: NSCoder)

Asks the delegate whether the app’s state should be preserved.

func application(UIApplication, willEncodeRestorableStateWith: NSCoder)

Tells your delegate to save any high-level state information at the beginning of the state preservation process.

func application(UIApplication, didDecodeRestorableStateWith: NSCoder)

Tells your delegate to restore any high-level state information as part of the state restoration process.