Как запустить что-то один раз при запуске приложения? - PullRequest
1 голос
/ 15 июня 2011

Я пытаюсь воспроизвести вступительный фильм, когда мое приложение запускается, но я уже полностью сошел с ума, я много тестировал свой код и пытался использовать это

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
 {
     // Override point for customization after application launch.
     NSLog(@"App started to launch");
     [self.window makeKeyAndVisible];
     [self.window addSubview:_intro.view];
     return YES;
 }

но это заставляет мое видео запускаться, даже если я иду из фона.
Если, например, нажать среднюю кнопку, затем дважды нажать среднюю кнопку и нажать значок приложения, я получу фильм для воспроизведения снова.

Я забыл упомянуть, что это мой ViewDidLoad

- (void)viewDidLoad    
{
    [super viewDidLoad];
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    BOOL launchedBefore = [userDefaults boolForKey:@"hasRunBefore"];
    NSLog(@"value of hasRunBefore is %d",launchedBefore);
    if(!launchedBefore)
    {
        [userDefaults setBool:1 forKey:@"hasRunBefore"];
        launchedBefore = [userDefaults boolForKey:@"hasRunBefore"];   
        NSLog(@"value of hasRunBefore is %d",launchedBefore);
        [self playvideo];
    }
}

1 Ответ

1 голос
/ 15 июня 2011

NSUserDefaults не фиксирует изменения на диске, пока вы не отправите сообщение synchronize.

Попробуйте добавить, выполнив это:

[userDefaults setBool:YES forKey:@"hasRunBefore"];
[userDefaults synchronize];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...