一.获取当前手机运行的版本信息,通过info.plist文件的bundle version获取
NSString *versionValueStringForSystemNow=[[NSBundle mainBundle].infoDictionary valueForKey:@"CFBundleShortVersionString"];
二.获取AppStore中的App版本信息
// 请求的url 固定格式https://itunes.apple.com//lookup?id= id为iTunes上App的唯一id
// 例如微信iTunes上的链接为:https://itunes.apple.com/cn/app/wei-xin/id414478124?mt=8 id就为414478124
NSString *urlStr = [NSString stringWithFormat:@"https://itunes.apple.com//lookup?id=%@", AppiTunesId];
[[YLSingleton sharedYLSingleton] GET:urlStr parameters:nil progress:^(NSProgress *progress) {
} success:^(NSURLSessionDataTask *task, id responseObject) {
NSDictionary *infoDic = [responseObject[@"results"] firstObject];
// 最新版本号
NSString *iTunesVersion = infoDic[@"version"];
// 应用程序介绍网址(用户升级跳转URL)
NSString *trackViewUrl = infoDic[@"trackViewUrl"];
} failure:^(NSURLSessionDataTask *task, NSError *error) {
}];
解析从AppStore获取到的App信息(重点介绍几个使用的)
minimumOsVersion = "8.0"; //App所支持的最低iOS系统
fileSizeBytes = ; //应用的大小
releaseDate = ""; //发布时间
trackCensoredName = ""; //审查名称
trackContentRating = ""; //评级
trackId = ; //应用程序ID
trackName = ""; //应用程序名称
trackViewUrl = ""; //应用程序介绍网址 需要更新跳转的网址
version = "4.0.3"; //版本号
三.判断当前所使用的是否为最新版本
NSString *currentVersion = [UIApplication sharedApplication].version;
// 最新版本
NSString *iTunesVersion = infoDic[@"version"];
// 应用程序介绍网址(用户升级跳转URL)
NSString *trackViewUrl = infoDic[@"trackViewUrl"];
// 判断版本号是否相同 不同就更新(简单介绍, if语句里面看项目需要自己发挥)
if (![currentVersion isEqualToString:iTunesVersion]) {
NSLog(@"不是最新版本,需要更新");
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:trackViewUrl] options:@{} completionHandler:^(BOOL success) {
}];
} else {
NSLog(@"已是最新版本,不需要更新!");
}