2014-11-09 4 views
4

Я бы хотел показать экран приветствия, когда пользователь впервые откроет мое приложение. Какой способ проверить первый запуск приложения в Swift?Первый запуск приложения iOS

+1

просто магазин флаг в UserDefaults и спросить в следующий раз. Ничего особенного –

+0

Возможный дубликат [Swift Detect first launch] (http://stackoverflow.com/questions/27208103/swift-detect-first-launch) –

ответ

9

Поскольку NSUserDefaults для приложения удаляются при удалении приложения, вы можете попробовать протестировать наличие определенного значения при запуске приложения.

Если это значение существует, приложение уже установлено. Если нет, это приложение запускается в первый раз, и вы устанавливаете это значение.

11

Попробуйте это,

func isAppAlreadyLaunchedOnce()->Bool{ 
    let defaults = NSUserDefaults.standardUserDefaults() 

    if let isAppAlreadyLaunchedOnce = defaults.stringForKey("isAppAlreadyLaunchedOnce"){ 
     println("App already launched") 
     return true 
    }else{ 
     defaults.setBool(true, forKey: "isAppAlreadyLaunchedOnce") 
     println("App launched first time") 
     return false 
    } 
} 
+0

Исходная версия этой функции может возвращать true, когда она должна возвращать false и наоборот; Я не уверен; используя его в XCode 9 Beta (для Swift 4) редактор сделал обновленные имена и логические предложения, которые привели к тому, что это так. –

+0

Спасибо @AlexHall за указание, обновит func, чтобы он работал без проблем. –

0

Swift 4

func isAppAlreadyLaunchedOnce()->Bool{ 
    let defaults = UserDefaults.standard 
    if let isAppAlreadyLaunchedOnce = defaults.string(forKey: "isAppAlreadyLaunchedOnce"){ 
     print("App already launched") 
     return true 
    }else{ 
     defaults.set(true, forKey: "isAppAlreadyLaunchedOnce") 
     print("App launched first time") 
     return false 
    } 
} 
Смежные вопросы