怎样判断ios是app 第一次启动

在didFinishLaunchingWithOptions方法中加入如下代码:
if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]){
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];
        NSLog(@"第一次启动");
    }else{
        NSLog(@"已经不是第一次启动了");
    }

现在的APP中流行在程序第一次启动时显示一些新手引导页面,下面的代码可用于判断此APP是否第一次启动,或升级后的第一次启动。


#define LAST_RUN_VERSION_KEY        @"last_run_version_of_application"
- (BOOL) isFirstLoad{
     NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary]
         objectForKey:@"CFBundleShortVersionString"];    

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];

    NSString *lastRunVersion = [defaults objectForKey:LAST_RUN_VERSION_KEY];

    if (!lastRunVersion) {
         [defaults setObject:currentVersion forKey:LAST_RUN_VERSION_KEY];
         return YES;
        // App is being run for first time
    }
    else if (![lastRunVersion isEqualToString:currentVersion]) {
        [defaults setObject:currentVersion forKey:LAST_RUN_VERSION_KEY];
        return YES;
        // App has been updated since last run
    }
    return NO;
}

参考:
Check for first use
app 新手引导设计
Top 6 Help Design Patterns for iPhone Apps


你可能感兴趣的:(iphone/ipad相关)