iOS 判断当前设备第几次进入app及跳转app store

来源:互联网 发布:hystrix 源码分析 编辑:程序博客网 时间:2024/06/07 13:58

1.功能点:

a:判断当前设备是否第一次启动app

b:判断当前设备是第几次启动app

c:在第几次启动时跳转app Store地址


a:判断当前设备是否第一次启动app 代码段:

代码写在appDelegate的didFinishLaunchingWithOptions方法里

<span style="font-family: Arial, Helvetica, sans-serif;">- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions</span>

// is First?    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"everLaunched"])    {        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"everLaunched"];        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];        [[NSUserDefaults standardUserDefaults] synchronize];    }    else{        [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"firstLaunch"];        [[NSUserDefaults standardUserDefaults] synchronize];    }


b:判断当前设备是第几次启动app,在上面的基础上,添加几行代码:

    // is First?  and   launchTimes    if (![[NSUserDefaults standardUserDefaults] boolForKey:@"everLaunched"])    {        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"everLaunched"];        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"firstLaunch"];                //第一次启动的时候,设置launchTime为1        [[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"launchTimes"];        [[NSUserDefaults standardUserDefaults] synchronize];    }    else{        [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"firstLaunch"];                //不是第一次启动的时候,app会进入这个方法,每启动一次app,进入一次次方法,launchTime的数字+1        NSInteger launchTime = [[NSUserDefaults standardUserDefaults] integerForKey:@"launchTimes"];        launchTime++;        [[NSUserDefaults standardUserDefaults] setInteger:launchTime forKey:@"launchTimes"];        [[NSUserDefaults standardUserDefaults] synchronize];    }

c:在第几次启动时跳转app Store地址

//当第八次进入程序的时候显示alert    if (launchTime==8) {            //isShowAlert是一个全局变量,在.h的{}中声明,此处BOOL缺省值为NO        //这个if的目的是,此弹窗只弹出一次,因为我的这个代码,写在了某个多次请求的接口处理中,所以增加这一步,为了让isShowAlert只显示一次        if (!isShowAlert) {            //SCLAlertView是一个第三方的alert控件,很好用,想了解的朋友,自行搜索!        SCLAlertView *alert = [[SCLAlertView alloc] init];                //alert 添加按钮        [alert addButton:@"给小爱好评" actionBlock:^(void) {                        //点击按钮执行的方法,写在此回调方法中----下面的代码是一段跳转到app Store的代码            NSString *str = [NSString stringWithFormat:                                 @"您的app在app Store中的链接地址"];            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];        }];        UIColor *color = [UIColor colorWithHexString:@"01b961"];                    [alert showCustom:self image:[UIImage imageNamed:@"alertLogo"] color:color title:nil subTitle:@"喜欢就给小爱个好评吧,您的支持会让我们做得更好!" closeButtonTitle:@"以后再说" duration:0.0f];                    isShowAlert = YES;    }    }


代码运行之后的显示效果,大概是这个样子:







0 0