APP版本更新

2017-02-03  本文已影响88人  BryantWang

因为项目中间时间允许,抽时间做了一下app新版本迭代.下面贴一下代码供大家参考,要是感觉还可以请给我一颗鼓励的小星星😝

//NewVersionHelper.h

//App版本检测更新

//Created by BryantWang on 2017/1/24.

//Copyright © 2017年BryantWang. All rights reserved.

#import

typedefvoid(^UpdateAppBlock)(NSDictionary*info);

@interfaceNewVersionHelper :NSObject

//检查版本方法

+(void)CheckAppVersion:(UpdateAppBlock)update;

@end

//NewVersionHelper.m

//App版本检测更新

//

//Created by BryantWang on 2017/1/24.

//Copyright © 2017年BryantWang. All rights reserved.

//

#import"NewVersionHelper.h"

//上线APP的APPID

#define STOREAPPID @"************"

@implementationNewVersionHelper

+(void)CheckAppVersion:(UpdateAppBlock)update

{

//先获取当前版本的版本号

NSDictionary*infoDic = [[NSBundlemainBundle]infoDictionary];

NSString*currentVersion = infoDic[@"CFBundleShortVersionString"];

//从网络获取AppStore版本号

NSError*error;

NSData*response = [NSURLConnectionsendSynchronousRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:[NSStringstringWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",STOREAPPID]]]returningResponse:nilerror:nil];

//结果为空

if(response ==nil) {

NSLog(@"没有网络");

}

NSDictionary*appInfoDic = [NSJSONSerializationJSONObjectWithData:responseoptions:NSJSONReadingMutableLeaveserror:&error];

//查询错误

if(error) {

NSLog(@"hsUpdateAppError:%@",error);

return;

}

//获取结果

NSArray*array = appInfoDic[@"results"];

if(array.count<1) {

NSLog(@"此App未上架或者未查询到");

return;

}

NSDictionary*dic = array[0];

NSString*appStoreVersion = dic[@"version"];

//打印当前版本号

NSLog(@"当前版本号:%@\n商店版本号:%@",currentVersion,appStoreVersion);

//设置版本号

currentVersion= [currentVersionstringByReplacingOccurrencesOfString:@"."withString:@""];

if(currentVersion.length==2)

{

currentVersion = [currentVersionstringByAppendingString:@"0"];

}

elseif(currentVersion.length==1)

{

currentVersion = [currentVersionstringByAppendingString:@"00"];

}

appStoreVersion = [appStoreVersionstringByReplacingOccurrencesOfString:@"."withString:@""];

if(appStoreVersion.length==2)

{

appStoreVersion = [appStoreVersionstringByAppendingString:@"0"];

}

elseif(appStoreVersion.length==1)

{

appStoreVersion = [appStoreVersionstringByAppendingString:@"00"];

}

//若当前版本小于商店版本则更新

if([currentVersionfloatValue] < [appStoreVersionfloatValue]) {

update(dic);

}else{

NSLog(@"现在已经是最新的了,还想怎么着");

}

}

//ViewController.m

//App版本检测更新

//

//Created by BryantWang on 2017/1/24.

//Copyright © 2017年BryantWang. All rights reserved.

//

#import"ViewController.h"

#import"NewVersionHelper.h"

@interfaceViewController()

@end

@implementationViewController

- (void)viewDidLoad {

[superviewDidLoad];

[NewVersionHelperCheckAppVersion:^(NSDictionary*info) {

NSLog(@"检查到有更新,更新信息是%@",info);

}];

}

- (void)didReceiveMemoryWarning {

[superdidReceiveMemoryWarning];

// Dispose of any resources that can be recreated.

}

具体代码请登录github下载源码,源码传送门:https://github.com/BryantWang81/APPCheckVersion

上一篇 下一篇

猜你喜欢

热点阅读