iOS强制更新之来自天朝专属
2016-09-30 本文已影响164人
Easy_VO
前言扯淡:
那是2015年的第一场演唱会,库克说不让你们应用里有自动更新的按钮了,遂之后的怎么更新呢,我们还是会看到有的应用汇自动更新。所谓道高一尺,就来入魔吧
一朵&温柔.av目前市面上貌似有很多,自动更新,自动化参数的平台;谁谁谁,就那几个谁。
上面是扯淡,下面是正文
正文:
#pragma -mark 天朝强制升级版
-(void)putYoHandsUp{
//2先获取当前工程项目版本号
NSDictionary *infoDic=[[NSBundle mainBundle] infoDictionary];
NSString *currentVersion=infoDic[@"CFBundleShortVersionString"];
NSLog(@"当前版本号%@",currentVersion);
//获得build号:
NSString *strBuild = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
NSLog(@"build号 = %@",strBuild);
//3从网络获取appStore版本号
NSError *error;
//已经被弃用了,不过也可以用NSURLConnection
// NSData *response = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",STOREAPPID]]] returningResponse:nil error:nil];
// 快捷方式获得session对象
NSURLSession *session = [NSURLSession sharedSession];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",STOREAPPID]];
// 通过URL初始化task,在block内部可以直接对返回的数据进行处理
NSURLSessionTask *task = [session dataTaskWithURL:url
completionHandler:^(NSData *data, NSURLResponse *response, NSError* error) {
// NSLog(@"00000000%@", response);
responseData = data;
}];
// 启动任务
[task resume];
if (responseData == nil) {
NSLog(@"你没有连接网络哦");
return;
}
NSDictionary *appInfoDic = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:&error];
if (error) {
NSLog(@"hsUpdateAppError:%@",error);
return;
}
NSArray *array = appInfoDic[@"results"];
NSDictionary *dic = array[0];
NSString *appStoreVersion = dic[@"version"];
//打印版本号
NSLog(@"当前版本号:%f\n商店版本号:%f",[currentVersion doubleValue],[appStoreVersion doubleValue]);
//4当前版本号小于商店版本号,就更新
if([currentVersion doubleValue] < [appStoreVersion doubleValue])
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"dd" message:@"ddd" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:nil, nil];
[alert show];
}else{
NSLog(@"版本号好像比商店大噢!检测到不需要更新");
}
}