ios-如何判断app是否为首次下载打开

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

NSUserDefaults standardUserDefaults 可以使APP记录相关数据,以下代码是将firstLaunch为键,布尔值为值,对应记录

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

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

原理同上

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

实际需要运行时运行以下代码

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];
    }
}

可以将上述代码放置在didFinishLaunchingWithOptions:(AppDelegate文件中)程序运行时会先运行这个文件。也可以放到需要使用到的代码块中

参考播客:博主:Dino.Tang

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值