• 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];
            }
        }
    
  • 相关阅读:
    服务器时间同步
    DataX部署安装
    Mysql ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction 解决方法
    mysql 使用需要注意的问题
    利用mysqldump 将一个表按条件导出数据
    mysql存储引擎分类
    MySQL数据备份之mysqldump使用
    count(1)、count(*)与count(列名)的执行区别
    rsync + sersync 实现实时数据同步
    ipmitool 工具使用
  • 原文地址:https://www.cnblogs.com/dinotang/p/4060208.html
Copyright © 2020-2023  润新知