Skip to content

Instantly share code, notes, and snippets.

@yoni-g
Last active May 12, 2024 17:57
Show Gist options
  • 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)
}
@shayneoneill
Copy link

I should note, apple will probably reject the app still. exiting the app (and presumably resetting) is straight up not allowed in the app store rules.

@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