检查iOS app 是否升级为新版本

之前我帮某公司做的一个iOS app,升级的时候发现闪退问题。后来检查是因为升级的时候数据库出现一点小问题导致对象为空。

下面这个代码可以检测程序是否更新了,从而进行相关处理:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 首先获得目前运行版本的数值,例如:1.1.2
 
NSString *currentAppVersion =   [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
 
// 具体思路:
// 检查是否已经将之前版本的值保存在 @"currentAppVersion" 的key里面
// 如果没有,证明只是第一个有这个代码的版本(或者是第一版),那么就将目前的版本号存进去
// 如果有,那么就比较已经保存的值和现在的版本值
 
if ([[NSUserDefaults standardUserDefaults] stringForKey:@"currentAppVersion"]==nil) {
NSLog(@"No previous version found.");
 
[[NSUserDefaults standardUserDefaults] setObject:currentAppVersion forKey:@"currentAppVersion"];
}
 
}else{
 
NSString *previousVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"currentAppVersion"];
[[NSUserDefaults standardUserDefaults] setObject:currentAppVersion forKey:@"currentAppVersion"];
 
if ([previousVersion compare:currentAppVersion options:NSNumericSearch] == NSOrderedAscending) {
 
NSLog(@"App Updated");
}
}
 
[[NSUserDefaults standardUserDefaults] synchronize];
posted @ 2013-07-15 10:35  如来藏  阅读(386)  评论(0编辑  收藏  举报