近期做到APP的更新,当新应用更新后,本地的APP也需要更新,这个时候给用户一个提示就比较好了。相关代码如下,写在AppDelegate里面就可以,也可以写在首页。
//跳转至App Store核心代码
NSURL *url = [NSURL URLWithString:[NSStristringWithFormat:@"https://itunes.apple.com/cn/app/linkmore/id1095614663?mt=8"]];
[[UIApplication sharedApplication] openURL:url];
(例如:https://itunes.apple.com/cn/app/凌猫停车/id1095614663?mt=8,此处一坑,地址中不可出现汉字,这时候需要将起改为字符串例如https://itunes.apple.com/cn/app/linkmore/id1095614663?mt=8 即可)
2 获取App Store最新版本号并与手机当前应用进行比较判断是佛跳转更新
先获取当前工程项目版本号
NSDictionary *infoDic=[[NSBundle mainBundle] infoDictionary];
NSString *currentVersion=infoDic[@"CFBundleShortVersionString"];
通过App Store获取
- AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
- manager.requestSerializer =[AFHTTPRequestSerializer serializer];
- manager.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"text/html",@"text/plain",@"application/json",@"text/javascript",nil];
- NSString *urlStr = [NSString stringWithFormat:@"http://itunes.apple.com/cn/linkmore?id=%@",STOREAPPID];
- [manager POST:urlStr parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
- } progress:^(NSProgress * _Nonnull uploadProgress) {
- } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
- NSArray *array = responseObject[@"results"];
- NSDictionary *dic = array[0];
- NSString *appStoreVersion = dic[@"version"];
- //打印版本号
- NSLog(@"商店版本号:%@",appStoreVersion);
- } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
- }];
到这里,就可以将当前手机内应用版本号与App Store内版本号进行比较,如果当前手机内应用版本号较低,就可以提示更新了并跳转至App Store更新最新版本。