Первое Открытое Событие - PullRequest
       3

Первое Открытое Событие

0 голосов
/ 21 сентября 2010

В моем приложении для iPad у меня есть UIAlertView, который выскакивает при запуске, однако я хочу, чтобы он появлялся только при первом запуске приложения пользователем. Это приглашение к установке, говорящее, это ваш первый раз, вы хотите настроить?

Как я могу это сделать? Я слышал, что лучше всего записать в файл plist и сохранить значение bool, но как мне решить эту проблему?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 21 сентября 2010

Измените следующий код в соответствии с вашими потребностями; Вы можете поместить его в свой метод корневого представления viedDidLoad. Код отслеживает первый запуск приложения, количество запусков и показывает, было ли пользователю показано ваше приглашение на установку.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

if (![defaults objectForKey:@"firstRun"]) {

    // this is the first run 
    // store this information

    [defaults setObject:[NSDate date] forKey:@"firstRun"];
    [defaults setInteger:1 forKey:@"launches"];
    [defaults setBool:NO forKey:@"setupPromptHasBeenShown"];
    [defaults synchronize];

    // now prompt the user to setup the app 
    // once the the prompt has been shown, 
    // if the user actually decides to setup the app, 
    // store this information again, so you will not prompt him/her again
    [defaults setBool:YES forKey:@"setupPromptHasBeenShown"];
    [defaults synchronize];

}
else{
     // this is not the first run
     NSInteger daysSinceInstall = [[NSDate date] timeIntervalSinceDate:[defaults objectForKey:@"firstRun"]] / 86400;
     NSInteger launches = [defaults integerForKey:@"launches"];
     [defaults setInteger:launches+1 forKey:@"launches"];
     [defaults synchronize];

}
1 голос
/ 21 сентября 2010

Вы можете использовать NSUserDefaults для достижения этого с помощью всего лишь нескольких строк кода.

http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html

...