How to detect Apps first launch in iOS?

Natanel picture Natanel · Nov 9, 2014 · Viewed 10k times · Source

I would like to display a welcome screen when a user opens my app for the first time. What method is there to check the first launch of an app in Swift?

Answer

Jonas Deichelmann picture Jonas Deichelmann · Dec 11, 2017

Swift 4 and higher

You can use this anywhere to verify that the user is seeing this view for the first time.

func isAppAlreadyLaunchedOnce() -> Bool {
    let defaults = UserDefaults.standard
    if let _ = defaults.string(forKey: "isAppAlreadyLaunchedOnce") {
        print("App already launched")
        return true
    } else {
        defaults.set(true, forKey: "isAppAlreadyLaunchedOnce")
        print("App launched first time")
        return false
    }
}

Note: This method would return false after user re-installs app and launch first time.