• IOS中如何判断APP是否安装后首次运行或升级后首次运行


    对于是否为首次安装的App可以使用如下方法来判断

    [[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"];
    

    如果App是通过App Store升级的话可以通过版本号来判断

    [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
    

    实际使用可以在didFinishLaunchingWithOptions:中添加如下代码

        if(![[NSUserDefaults standardUserDefaults] boolForKey:@"firstLaunch"]) {
            [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];
            NSLog(@"安装之后首次开启App");
            //获取当前App版本号并存入NSUserDefaults中
            NSString* appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
            NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
            [userDefaults setObject:appVersion forKey:@"appVersion"];
            [userDefaults synchronize];
        }
        else {
            //根据版本号判断是否更新后首次启动
            NSString* appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
            NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
            NSString* localVersion = [userDefaults stringForKey:@"appVersion"];
            if ([appVersion isEqualToString:localVersion]) {
                NSLog(@"安装或升级之后并非首次开启App");
            }
            else {
                NSLog(@"升级之后首次开启App");
                //将当前App版本号存入NSUserDefaults中
                [userDefaults setObject:appVersion forKey:@"appVersion"];
                [userDefaults synchronize];
            }
        }
    
  • 相关阅读:
    一个好的技术管理人员需要知道的几件事
    团队必经的五个阶段以及好团队的七个特征
    作为CTO如何做技术升级
    技术领导画像
    TF-IDF原理
    KNN和K-Means的区别
    图数据库入门
    Hbase和Hive的异同
    谈谈机器学习面试
    关于领导力的理解
  • 原文地址:https://www.cnblogs.com/dinotang/p/4060208.html
Copyright © 2020-2023  润新知