您的位置:首页 > 移动开发

获取当前手机App版本以及AppStore中的最新版本,判断是否需要更新

2017-08-05 14:50 621 查看
一.获取当前手机运行的版本信息,通过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(@"已是最新版本,不需要更新!");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  AppVersion
相关文章推荐