Как сделать так, чтобы экран отображался только при первом запуске

Я пытаюсь сделать вводные экраны для своего приложения, а именно экран условий обслуживания, с которым все пользователи должны согласиться при первой загрузке и запуске приложения. очевидно, как только пользователи соглашаются, я не хочу показывать им это снова каждый раз, когда они входят в приложение. как лучше всего это сделать? Я читал о NSUserDefaults, но после этого застрял.


person sterling archer    schedule 04.02.2015    source источник
comment
возможный дубликат iPhone : Как узнать, когда приложение запускается в первый раз?   -  person chris    schedule 04.02.2015
comment
другой q находится в obj-c, чего я не знаю.   -  person sterling archer    schedule 04.02.2015


Ответы (2)


В вашем AppDelegate или любом другом классе необходимо проверить статус первого запуска:

Bool isFirstRun = !NSUserDefaults.standardUserDefaults().boolForKey("kAppPreviousLaunchKey")
NSUserDefaults.standardUserDefaults().setBool(true, forKey:"kAppPreviousLaunchKey")
if isFirstRun {
    // React here
}
person Joshua Sullivan    schedule 04.02.2015

Поиграйте с этим фрагментом кода в классе AppDelegate.

let launchedBefore = NSUserDefaults.standardUserDefaults().boolForKey("launchedBefore")
    if launchedBefore  {
        print("Not first launch.")
    }
    else {
        print("First launch, setting NSUserDefault.")
        NSUserDefaults.standardUserDefaults().setBool(true, forKey: "launchedBefore")
    }
person Nati Lara-Diaz    schedule 14.07.2016