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];
            }
        }
    
  • 相关阅读:
    递归算法几个实例---C/C++
    Linux进程管理
    Linux文件传输
    Linux--系统管理
    Git学习笔记
    如果该虚拟机未在使用,请按“获取所有权(T)”按钮获取它的所有权。否则,请按“取消(C)”按钮以防损坏
    二叉树的非递归层次遍历算法
    二叉树(代码)
    根据后序遍历和中序遍历创建二叉树(代码)
    二叉树性质
  • 原文地址:https://www.cnblogs.com/dinotang/p/4060208.html
Copyright © 2011-2022 走看看