Знать, когда App брошена впервые в IOS

Этот вопрос - в Android, но: как он был бы в iOS?

Как возможно знать, первый раз ли, который инициализирует app это?

Он был бы интересным, в случае, что пользователь обновил приложение, будьте обнаружен как новость или update.

3
задан 13.04.2017, 16:00
1 ответ

В objective C:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"HasLaunchedOnce"])
    {
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
    return YES;
}

В swift используя NSUserDefault:

 let launchedBefore = NSUserDefaults.standardUserDefaults().boolForKey("launchedBefore")
if launchedBefore  {
    print("anteriormente iniciada.")
}
else {
    print("Se inicia por primera vez!..")
    NSUserDefaults.standardUserDefaults().setBool(true, forKey: "launchedBefore")
}
4
ответ дан 24.11.2019, 13:32
  • 1
    Из-за любопытства м и # 225; s, что совсем не, и #191; важно, если он swift или swift2? – Miquel Coll 30.08.2016, 14:52
  • 2
    На какие-то случаи измени синтаксис. В этом случае используя Свифт 2 tambi и # 233; n возможно использовать класс NSUserDefault. – Jorgesys♦ 30.08.2016, 15:04

Завершая ответ, сначала ты наполняешь переменную

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        if (![[NSUserDefaults standardUserDefaults] introducir el código aquíboolForKey:@"HasLaunchedOnce"])
        {
            [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"HasLaunchedOnce"];
            [[NSUserDefaults standardUserDefaults] synchronize];
        }
        return YES;
    }

Чтобы читать потом переменную, если ты нуждаешься в этом в какой-то стороне

 NSString *value = [[NSUserDefaults standardUserDefaults] stringForKey:@"HasLaunchedOnce"];
2
ответ дан 03.12.2019, 20:38