iOS 监测应用是否是第一次打开&监测应用是否已经更新

解决方案:在AppDelegate.h中的didFinishLaunchingWithOptions里面添加:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    NSLog(@"did Finish Launching With Options");
    
    if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isFirstLaunched"]){
        NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App was already launched.");
    }
    else{
        NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App's first launch.");
        
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"isFirstLaunched"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
    
    if ([[[NSUserDefaults standardUserDefaults] stringForKey:@"clientVersion"] isEqualToString:CLIENT_VERSION]) {
        NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App version remains the same.");
    }
    else{
        NSLog(@"AppDelegate - didFinishLaunchingWithOptions: App version did update.");
        [[NSUserDefaults standardUserDefaults] setObject:CLIENT_VERSION forKey:@"clientVersion"];
        [[NSUserDefaults standardUserDefaults] synchronize];
    }
    
    return YES;
}


在App-Prefix.pch中定义CLIENT_VERSION:

    #define CLIENT_VERSION [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]


参考链接:http://stackoverflow.com/questions/9964371/how-to-detect-first-time-app-launch-on-an-iphone/9964400#9964400


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。