Skip to content

Instantly share code, notes, and snippets.

@yoni-g
Last active March 30, 2023 02:08
Show Gist options
  • Star 21 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save yoni-g/f6deb954ad31fef288662949bf7c9cbe to your computer and use it in GitHub Desktop.
Save yoni-g/f6deb954ad31fef288662949bf7c9cbe to your computer and use it in GitHub Desktop.
How to exit an iOS app without it looking like a crash? - Swift
func showMessageResetApp(){
let exitAppAlert = UIAlertController(title: "Restart is needed",
message: "We need to restart the app on your first login to the app.\n Please reopen the app after this.",
preferredStyle: .alert)
let resetApp = UIAlertAction(title: "Close Now", style: .destructive) {
(alert) -> Void in
// home button pressed programmatically - to thorw app to background
UIControl().sendAction(#selector(URLSessionTask.suspend), to: UIApplication.shared, for: nil)
// terminaing app in background
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1), execute: {
exit(EXIT_SUCCESS)
})
}
let laterAction = UIAlertAction(title: "Later", style: .cancel) {
(alert) -> Void in
self.dismiss(animated: true, completion: nil)
}
exitAppAlert.addAction(resetApp)
exitAppAlert.addAction(laterAction)
present(exitAppAlert, animated: true, completion: nil)
}
@zunjae
Copy link

zunjae commented Jul 9, 2019

Don't use this.

@cpellet
Copy link

cpellet commented Jun 10, 2020

This is bad practice and will definitely be rejected by Apple!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment