初回起動時のみ特定のViewControllerを表示する!!
初回起動時と二回目以降の判別方法
例えば初めてアプリが開かれた時のみアプリの説明、使い方を表示したいということがあると思います。
初回起動時だけ特定のViewControllerに遷移し、それ以降はデフォルトのInitial ViewControllerに遷移するようにしてみます。
AppDelegateのdidFinishLaunchingWithOptions内に処理を書きましょう!
let userDefaults = UserDefaults.standard let isFirstLaunch = ["firstTimeLaunch": true] userDefaults.register(defaults: isFirstLaunch)
UserDefaults内に初回起動かどうかをBool値で保存し、それを元に判定します!
初期値は初回起動なのでtrueにして保存しましょう!
if userDefaults.bool(forKey: "firstTimeLaunch") { userDefaults.set(false, forKey: "firstTimeLaunch") self.window = UIWindow(frame: UIScreen.main.bounds) let storyBoard = UIStoryboard(name: "Main", bundle: nil) let initialViewController = storyBoard.instantiateViewController(withIdentifier: "HowToUse") self.window?.rootViewController = initialViewController self.window?.makeKeyAndVisible() }
先ほど登録したUserDefaultsのBool値を取得し、true(初回起動)ならば、identifierで指定したViewControllerを表示します。
なのでstoryboardで初回起動時に表示したいViewControllerにidentifierを指定するのを忘れないでください!!
初回起動でなければデフォルトのinitialViewControllerが表示されます!