iOS的APP验证版本更新方法
发布时间:2016-05-07 11:00:05
一个老项目没有集成自动检测及提示用户更新新版本的功能,自己在网上查资料捣鼓出自己的方法,可能比较粗陋,希望大家多多指导,我们的项目的版本号是X.X.X的格式,所以直接把字符串转换成float类型的值无效,自己先将字符串做了处理,后来转成float类型后对版本做比较,以下贴上代码# ...
一个老项目没有集成自动检测及提示用户更新新版本的功能,自己在网上查资料捣鼓出自己的方法,可能比较粗陋,希望大家多多指导,我们的项目的版本号是X.X.X的格式,所以直接把字符串转换成float类型的值无效,自己先将字符串做了处理,后来转成float类型后对版本做比较,以下贴上代码
#pragma mark - 检查版本更新- (void)checkNewVersion { AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; [manager GET:APP_URL parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) { } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { // 请求成功 // 字典接收请求到的JSon NSDictionary *responseDict = [NSDictionary dictionaryWithDictionary:responseObject]; // 解析请求到的JSon NSArray *results = [responseDict objectForKey:@"results"]; NSDictionary *finalDict = [results firstObject]; // 获取APP下载地址 NSString *trackViewUrl = [finalDict objectForKey:@"trackViewUrl"]; updateUrl = [NSURL URLWithString:trackViewUrl]; // 获取官网APP的版本号 NSString *str1 = [finalDict objectForKey:@"version"]; NSString *version1 = [str1 substringFromIndex:2]; // 将版本号字符串转换成float类型 float newVersion = [version1 floatValue]; // 获取本地项目版本号 // 拿到项目的infoPlist文件中所有内容 NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary]; // 获取到当前工程版本号 NSString *str2 = [infoDict objectForKey:@"CFBundleVersion"]; NSString *version2 = [str2 substringFromIndex:2]; // 将版本号字符串转换成float类型 float localVersion = [version2 floatValue]; // 对比两处版本号 if (newVersion > localVersion) { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"有新版本可用,请安装更新" delegate:self cancelButtonTitle:@"更新" otherButtonTitles:nil]; alert.tag = 1; [alert show]; } } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {// 请求失败 // 返回请求失败的原因 NSLog(@"NSError:%@", error); }];}
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:iOS的APP验证版本更新方法
关键词:IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。