IOS开发判断是否第一次使用软件且下次app自动更新后再次打开还是第一次使用
2015-08-10 16:32
429 查看
对于用户来讲,在第一次打开软件的时候,最好有个引导页,告诉用户软件怎么使用,或者本次软件的主要的更新在哪儿,提高用户的软件体验。
下面有有两种方法
1.本地存储一个bool变量判断是不是第一次启动,若是第一次启动就打开引导页。
2.本地存储版本号,判断当前版本号是否大于本地保存的版本号,如果大于则启动引导页。
那么这两种那个好呢,显然第二种较好,因为第一种方法,若是版本升级的时候,我们往往还要引导用户进入引导页,但本地已经保存了不是第一次启动,因此当版本升级的时候就不会再次进入引导页。第二种方法,升级的时候,本次保存的还是上个版本的版本号,因此升级后当前版本号肯定大于上个版本号,因此则会进入引导页。
不废话了,上代码!
//当前版本
NSString *currentVersion = [[[NSBundlemainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"];
//本地存储的版本
NSString *saveVersion = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"CFBundleShortVersionString"];
if ([currentVersionfloatValue] > [saveVersion
floatValue]) {
[[NSUserDefaults
standardUserDefaults]setObject:currentVersion
forKey:@"CFBundleShortVersionString"];
[[NSUserDefaults
standardUserDefaults]synchronize];
//TODO:
}
下面有有两种方法
1.本地存储一个bool变量判断是不是第一次启动,若是第一次启动就打开引导页。
2.本地存储版本号,判断当前版本号是否大于本地保存的版本号,如果大于则启动引导页。
那么这两种那个好呢,显然第二种较好,因为第一种方法,若是版本升级的时候,我们往往还要引导用户进入引导页,但本地已经保存了不是第一次启动,因此当版本升级的时候就不会再次进入引导页。第二种方法,升级的时候,本次保存的还是上个版本的版本号,因此升级后当前版本号肯定大于上个版本号,因此则会进入引导页。
不废话了,上代码!
//当前版本
NSString *currentVersion = [[[NSBundlemainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"];
//本地存储的版本
NSString *saveVersion = [[NSUserDefaultsstandardUserDefaults]objectForKey:@"CFBundleShortVersionString"];
if ([currentVersionfloatValue] > [saveVersion
floatValue]) {
[[NSUserDefaults
standardUserDefaults]setObject:currentVersion
forKey:@"CFBundleShortVersionString"];
[[NSUserDefaults
standardUserDefaults]synchronize];
//TODO:
}
相关文章推荐
- 判断ios app第一次启动
- 判断应用是否第一次启动并为其设置用户指导界面
- Android activity第一次启动Edittext不弹软键盘
- android 应用第一次启动记录状态
- 使用OUYA第一次启动OUYA
- iOS 第一次启动APP判断
- Android App第一次启动或者更新或第一次启动
- Android 判断程序是否是第一次启动
- iOS - 正则表达式判断邮箱、身份证..是否正确
- 我的高效编程的秘诀--开发环境的重要性(IOS)
- iOS项目开发实战——Swift实现多个TableView的侧滑与切换
- iOS8 状态栏 动态隐藏和显示
- Proguard 简介
- android调用系统相机和相册进行拍照裁剪处理,解决不同安卓版本存在无法加载相册的问题,处理了是否有sd卡的存在的情况
- iOS 9 分屏多任务(1):入门
- 很有意思的Object对象属性读取
- Android 非空格式验证框架
- iOS文本框处理方式的不同
- Android 仿微信群组头像合成
- 打开ios设备的闪光灯代码