zoukankan      html  css  js  c++  java
  • 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];
            }
        }
    
  • 相关阅读:
    python全栈开发day20-类的三大特性继承、多态、封装
    python全栈开发day19-面向对象初识
    python全栈开发day21-2 几个装饰器总结
    python全栈开发day16-正则表达式和re模块
    python全栈开发day15-递归函数、二分查找
    python运算符优先级
    动手动脑4
    动手动脑3
    查询对象个数
    动手动脑2
  • 原文地址:https://www.cnblogs.com/dinotang/p/4060208.html
Copyright © 2011-2022 走看看