近期做到APP的更新,当新应用更新后,本地的APP也需要更新,这个时候给用户一个提示就比较好了。相关代码如下,写在AppDelegate里面就可以,也可以写在首页。
//跳转至App Store核心代码
NSURL*url = [NSURLURLWithString:[NSStristringWithFormat:@"https://itunes.apple.com/cn/app/linkmore/id1095614663?mt=8"]];
[[UIApplicationsharedApplication]openURL:url];
PS:此处地址为App Store内应用的地址,获取方式--打开iTunes——>应用——>App Store——>搜索“app名称”——>右键APP拷贝链接
(例如:https://itunes.apple.com/cn/app/凌猫停车/id1095614663?mt=8,此处一坑,地址中不可出现汉字,这时候需要将起改为字符串例如https://itunes.apple.com/cn/app/linkmore/id1095614663?mt=8即可)
2 获取App Store最新版本号并与手机当前应用进行比较判断是佛跳转更新
先获取当前工程项目版本号
NSDictionary*infoDic=[[NSBundlemainBundle]infoDictionary];
NSString*currentVersion=infoDic[@"CFBundleShortVersionString"];
3获取当前最新版本APP的版本号,可以通过App Store获取也可以让你们的技术后台写一个版本控制的接口,自己去获取最新版本信息。
通过App Store获取
AFHTTPSessionManager*manager = [AFHTTPSessionManagermanager];
manager.requestSerializer=[AFHTTPRequestSerializerserializer];
manager.responseSerializer.acceptableContentTypes= [NSSetsetWithObjects:@"text/html",@"text/plain",@"application/json",@"text/javascript",nil];
NSString*urlStr = [NSStringstringWithFormat:@"http://itunes.apple.com/cn/linkmore?id=%@",STOREAPPID];
[managerPOST:urlStrparameters:nilconstructingBodyWithBlock:^(id _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更新最新版本。
原文地址:http://blog.csdn.net/s651836663/article/details/70761701
网友评论