NSUserDefaults を使ってアプリの初回起動判定を行う
環境:iOS Deployment Target 7.1
アプリの初回起動判定は NSUserDefaults でやるのがよいらしい。
以下のように NSUserDefaults を使って初回判定を行うメソッドを作った。
- (BOOL)isFirstRun { NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; if ([userDefaults objectForKey:@"firstRunDate"]) { // 日時が設定済みなら初回起動でない return NO; } // 初回起動日時を設定 [userDefaults setObject:[NSDate date] forKey:@"firstRunDate"]; // 保存 [userDefaults synchronize]; // 初回起動 return YES; }
これを使って初回起動時の処理を書く。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if ([self isFirstRun]) { // 初回起動時の処理を書く NSLog(@"初回起動だよ"); } return YES; }