移动客户端进行版本迭代时,需要进行本地版本号和服务器版本号比较,从而实现更新提示。本文祥讲怎样获取版本号,具体的比较方法。
一、CFBundleShortVersionString和CFBundleVersion
CFBundleShortVersionString:对应Version项
标识应用程序的发布版本号。该版本的版本号是三个时期分隔的整数组成的字符串。第一个整数代表重大修改的版本,如实现新的功能或重大变化的修订。第二个整数表示的修订,实现较突出的特点。第三个整数代表维护版本。该键的值不同于“CFBundleVersion”标识。
CFBundleVersion:对应Build项
标识(发布或未发布)的内部版本号。这是一个单调增加的字符串,包括一个或多个时期分隔的整数。
NSString *version = [myVersionstringByReplacingOccurrencesOfString:@"."withString:@""];
//当前版本号
NSString *myVersion = [[NSBundlemainBundle]objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
//获取到服务器最新版本号,此处用1.1.0测试
NSString *lastVersion =@"1.1.0";
if ([myVersioncompare:lastVersionoptions:NSNumericSearch] ==NSOrderedDescending) {
//当前版本低于最新版本
NSLog(@" the version is low");
}
else
{
NSLog(@" the version is last");
}
三:跳转到APPStore更新
点击立即更新跳转到APPStore:
NSString *urlStr =@"http://itunes.apple.com/cn/app/id1197959303"
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr]];