检测新版本
2015-07-18 16:09
267 查看
——————————————
####直接写方法####
- (void)viewDidLoad
{
[self requestInfoAboutUpdate];
}
#pragma mark - 版本升级网络请求
- (void)requestInfoAboutUpdate
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager
manager];
NSString *url = [NSString
stringWithFormat:@"%@upgrade?ver=%@&p=iphone",[EnglishRadio
HttpHead], [self
getVersionBuild]];
[manager GET:url
parameters:nil
success:^(AFHTTPRequestOperation *operation,
id responseObject)
{
if ([responseObject[@"status"]
integerValue] == 80001)
{
NSString *contentString = responseObject[@"result"][@"changelog"];
UIView *coverView = [[UIView
alloc] init];
coverView.frame =
CGRectMake(0, 0, Screen_Width,
Screen_Height);
coverView.backgroundColor = [UIColor
colorWithWhite:0.5 alpha:0.6];
coverView.tag = 700;
[self.view
addSubview:coverView];
UIImageView *coverImageView = [[UIImageView
alloc] init];
coverImageView.frame =
CGRectMake(0, (Screen_Height - 64 - 44) / 2 - 180,
Screen_Width, 360);
UIImage *coverImage = [UIImage
imageNamed:@"out_window"];
coverImageView.userInteractionEnabled =
YES;
coverImageView.image = coverImage;
coverImageView.tag = 701;
[coverView addSubview:coverImageView];
UILabel *contentLabel = [[UILabel
alloc] init];
contentLabel.frame =
CGRectMake(70, 85, coverView.width - 110, 200);
contentLabel.numberOfLines = 0;
contentLabel.text = contentString;
[coverImageView addSubview:contentLabel];
//设置label行与行之间的间距
NSMutableAttributedString *attributeString = [[NSMutableAttributedString
alloc] initWithString:contentString];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle
alloc] init];
[paragraphStyle setLineSpacing:6];
[attributeString addAttribute:NSParagraphStyleAttributeName
value:paragraphStyle range:NSMakeRange(0, [contentString
length])];
[contentLabel setAttributedText:attributeString];
[contentLabel sizeToFit];
UIButton *closeBtn = [[UIButton
alloc] init];
closeBtn.frame =
CGRectMake([UIScreen
mainScreen].bounds.size.width - 75, 45, 19, 19);
closeBtn.userInteractionEnabled =
YES;
[closeBtn setBackgroundImage:[UIImage
imageNamed:@"out_window_close"]
forState:UIControlStateNormal];
[closeBtn addTarget:self
action:@selector(cancelCheckupVersions)
forControlEvents:UIControlEventTouchUpInside];
[coverImageView addSubview:closeBtn];
UIButton *checkupBtn = [[UIButton
alloc] init];
checkupBtn.frame =
CGRectMake(contentLabel.center.x - 65, coverImageView.height - 85,
133, 49);
[checkupBtn setBackgroundImage:[UIImage
imageNamed:@"green_btn_normal"]
forState:UIControlStateNormal];
[checkupBtn setBackgroundImage:[UIImage
imageNamed:@"green_btn_highLighted"]
forState:UIControlStateHighlighted];
[checkupBtn setTitle:@"立即更新"
forState:UIControlStateNormal];
[checkupBtn addTarget:self
action:@selector(checkupLastVersions)
forControlEvents:UIControlEventTouchUpInside];
[coverImageView addSubview:checkupBtn];
NSString *urlStr = responseObject[@"result"][@"url"];
CacheData *currentUserInfo = [CacheData
cacheName:@"currentUserInfo"];
[currentUserInfo setObject:urlStr
forKey:@"checkupStr"];
}
else
if ([responseObject[@"status"]
integerValue] == 200)
{
UIView *coverView = [[UIView
alloc] init];
coverView.frame =
CGRectMake(0, 0, Screen_Width,
Screen_Height);
coverView.backgroundColor = [UIColor
colorWithWhite:0.5 alpha:0.6];
coverView.tag = 702;
[self.view
addSubview:coverView];
UIImageView *coverImageView = [[UIImageView
alloc] init];
coverImageView.frame =
CGRectMake(0, (Screen_Height - 64 - 44) / 2 - 110,
Screen_Width, 220);
UIImage *coverImage = [UIImage
imageNamed:@"out_window"];
coverImageView.userInteractionEnabled =
YES;
coverImageView.image = coverImage;
coverImageView.tag = 703;
[coverView addSubview:coverImageView];
UIButton *closeBtn = [[UIButton
alloc] init];
closeBtn.frame =
CGRectMake([UIScreen
mainScreen].bounds.size.width - 75, 30, 19, 19);
closeBtn.userInteractionEnabled =
YES;
[closeBtn setBackgroundImage:[UIImage
imageNamed:@"out_window_close"]
forState:UIControlStateNormal];
[closeBtn addTarget:self
action:@selector(ensure)
forControlEvents:UIControlEventTouchUpInside];
[coverImageView addSubview:closeBtn];
UILabel *contentLabel = [[UILabel
alloc] init];
NSString *messageString = responseObject[@"message"];
contentLabel.frame =
CGRectMake(70, 75, Screen_Width - 120, 40);
contentLabel.textAlignment =
NSTextAlignmentCenter;
contentLabel.text = [NSString
stringWithFormat:@"%@!",messageString];
[coverImageView addSubview:contentLabel];
UIButton *checkupBtn = [[UIButton
alloc] init];
checkupBtn.frame =
CGRectMake(contentLabel.center.x - 65, coverImageView.height - 85,
133, 49);
[checkupBtn setBackgroundImage:[UIImage
imageNamed:@"green_btn_normal"]
forState:UIControlStateNormal];
[checkupBtn setBackgroundImage:[UIImage
imageNamed:@"green_btn_highLighted"]
forState:UIControlStateHighlighted];
[checkupBtn setTitle:@"确定"
forState:UIControlStateNormal];
[checkupBtn addTarget:self
action:@selector(ensureBtnClick)
forControlEvents:UIControlEventTouchUpInside];
[coverImageView addSubview:checkupBtn];
}
NSLog(@"sccuess");
} failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
NSLog(@"failed : %@",error);
}];
}
#pragma mark - 取消升级版本
- (void)cancelCheckupVersions
{
UIView *coverV = (UIView *)[self.view
viewWithTag:700];
[coverV removeFromSuperview];
coverV = nil;
UIImageView *coverImageV = (UIImageView *)[self.view
viewWithTag:701];
[coverImageV removeFromSuperview];
coverImageV = nil;
}
#pragma mark - 升级到新版本
- (void)checkupLastVersions
{
UIWebView *webView = [[UIWebView
alloc] init];
webView.frame =
CGRectMake(0, 0, [UIScreen
mainScreen].bounds.size.width, [UIScreen
mainScreen].bounds.size.height);
webView.backgroundColor = [UIColor
redColor];
CacheData *currentUserInfo = [CacheData
cacheName:@"currentUserInfo"];
NSString *urlStr = [currentUserInfo
objectforKey:@"checkupStr"];
NSURL *url = [NSURL
URLWithString:urlStr];
NSURLRequest *request = [[NSURLRequest
alloc] initWithURL:url];
[webView loadRequest:request];
[self.view
addSubview:webView];
// 隐藏导航栏和tabbar
self.navigationController.navigationBarHidden =
YES;
MMDrawerController *root = (MMDrawerController *)[UIApplication
sharedApplication].keyWindow.rootViewController;
CustomTabBarViewController *custom = (CustomTabBarViewController *)root.centerViewController;
[custom hideTabBar];
}
#pragma mark - 当前已经是最新版本
- (void)ensure
{
UIView *coverV = (UIView *)[self.view
viewWithTag:702];
[coverV removeFromSuperview];
coverV = nil;
UIImageView *coverImageV = (UIImageView *)[self.view
viewWithTag:703];
[coverImageV removeFromSuperview];
coverImageV = nil;
}
- (void)ensureBtnClick
{
UIView *coverV = (UIView *)[self.view
viewWithTag:702];
[coverV removeFromSuperview];
coverV = nil;
UIImageView *coverImageV = (UIImageView *)[self.view
viewWithTag:703];
[coverImageV removeFromSuperview];
coverImageV = nil;
}
#pragma mark - 获取当前版本号
- (NSString *)getVersionBuild
{
return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
}
####直接写方法####
- (void)viewDidLoad
{
[self requestInfoAboutUpdate];
}
#pragma mark - 版本升级网络请求
- (void)requestInfoAboutUpdate
{
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager
manager];
NSString *url = [NSString
stringWithFormat:@"%@upgrade?ver=%@&p=iphone",[EnglishRadio
HttpHead], [self
getVersionBuild]];
[manager GET:url
parameters:nil
success:^(AFHTTPRequestOperation *operation,
id responseObject)
{
if ([responseObject[@"status"]
integerValue] == 80001)
{
NSString *contentString = responseObject[@"result"][@"changelog"];
UIView *coverView = [[UIView
alloc] init];
coverView.frame =
CGRectMake(0, 0, Screen_Width,
Screen_Height);
coverView.backgroundColor = [UIColor
colorWithWhite:0.5 alpha:0.6];
coverView.tag = 700;
[self.view
addSubview:coverView];
UIImageView *coverImageView = [[UIImageView
alloc] init];
coverImageView.frame =
CGRectMake(0, (Screen_Height - 64 - 44) / 2 - 180,
Screen_Width, 360);
UIImage *coverImage = [UIImage
imageNamed:@"out_window"];
coverImageView.userInteractionEnabled =
YES;
coverImageView.image = coverImage;
coverImageView.tag = 701;
[coverView addSubview:coverImageView];
UILabel *contentLabel = [[UILabel
alloc] init];
contentLabel.frame =
CGRectMake(70, 85, coverView.width - 110, 200);
contentLabel.numberOfLines = 0;
contentLabel.text = contentString;
[coverImageView addSubview:contentLabel];
//设置label行与行之间的间距
NSMutableAttributedString *attributeString = [[NSMutableAttributedString
alloc] initWithString:contentString];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle
alloc] init];
[paragraphStyle setLineSpacing:6];
[attributeString addAttribute:NSParagraphStyleAttributeName
value:paragraphStyle range:NSMakeRange(0, [contentString
length])];
[contentLabel setAttributedText:attributeString];
[contentLabel sizeToFit];
UIButton *closeBtn = [[UIButton
alloc] init];
closeBtn.frame =
CGRectMake([UIScreen
mainScreen].bounds.size.width - 75, 45, 19, 19);
closeBtn.userInteractionEnabled =
YES;
[closeBtn setBackgroundImage:[UIImage
imageNamed:@"out_window_close"]
forState:UIControlStateNormal];
[closeBtn addTarget:self
action:@selector(cancelCheckupVersions)
forControlEvents:UIControlEventTouchUpInside];
[coverImageView addSubview:closeBtn];
UIButton *checkupBtn = [[UIButton
alloc] init];
checkupBtn.frame =
CGRectMake(contentLabel.center.x - 65, coverImageView.height - 85,
133, 49);
[checkupBtn setBackgroundImage:[UIImage
imageNamed:@"green_btn_normal"]
forState:UIControlStateNormal];
[checkupBtn setBackgroundImage:[UIImage
imageNamed:@"green_btn_highLighted"]
forState:UIControlStateHighlighted];
[checkupBtn setTitle:@"立即更新"
forState:UIControlStateNormal];
[checkupBtn addTarget:self
action:@selector(checkupLastVersions)
forControlEvents:UIControlEventTouchUpInside];
[coverImageView addSubview:checkupBtn];
NSString *urlStr = responseObject[@"result"][@"url"];
CacheData *currentUserInfo = [CacheData
cacheName:@"currentUserInfo"];
[currentUserInfo setObject:urlStr
forKey:@"checkupStr"];
}
else
if ([responseObject[@"status"]
integerValue] == 200)
{
UIView *coverView = [[UIView
alloc] init];
coverView.frame =
CGRectMake(0, 0, Screen_Width,
Screen_Height);
coverView.backgroundColor = [UIColor
colorWithWhite:0.5 alpha:0.6];
coverView.tag = 702;
[self.view
addSubview:coverView];
UIImageView *coverImageView = [[UIImageView
alloc] init];
coverImageView.frame =
CGRectMake(0, (Screen_Height - 64 - 44) / 2 - 110,
Screen_Width, 220);
UIImage *coverImage = [UIImage
imageNamed:@"out_window"];
coverImageView.userInteractionEnabled =
YES;
coverImageView.image = coverImage;
coverImageView.tag = 703;
[coverView addSubview:coverImageView];
UIButton *closeBtn = [[UIButton
alloc] init];
closeBtn.frame =
CGRectMake([UIScreen
mainScreen].bounds.size.width - 75, 30, 19, 19);
closeBtn.userInteractionEnabled =
YES;
[closeBtn setBackgroundImage:[UIImage
imageNamed:@"out_window_close"]
forState:UIControlStateNormal];
[closeBtn addTarget:self
action:@selector(ensure)
forControlEvents:UIControlEventTouchUpInside];
[coverImageView addSubview:closeBtn];
UILabel *contentLabel = [[UILabel
alloc] init];
NSString *messageString = responseObject[@"message"];
contentLabel.frame =
CGRectMake(70, 75, Screen_Width - 120, 40);
contentLabel.textAlignment =
NSTextAlignmentCenter;
contentLabel.text = [NSString
stringWithFormat:@"%@!",messageString];
[coverImageView addSubview:contentLabel];
UIButton *checkupBtn = [[UIButton
alloc] init];
checkupBtn.frame =
CGRectMake(contentLabel.center.x - 65, coverImageView.height - 85,
133, 49);
[checkupBtn setBackgroundImage:[UIImage
imageNamed:@"green_btn_normal"]
forState:UIControlStateNormal];
[checkupBtn setBackgroundImage:[UIImage
imageNamed:@"green_btn_highLighted"]
forState:UIControlStateHighlighted];
[checkupBtn setTitle:@"确定"
forState:UIControlStateNormal];
[checkupBtn addTarget:self
action:@selector(ensureBtnClick)
forControlEvents:UIControlEventTouchUpInside];
[coverImageView addSubview:checkupBtn];
}
NSLog(@"sccuess");
} failure:^(AFHTTPRequestOperation *operation,
NSError *error) {
NSLog(@"failed : %@",error);
}];
}
#pragma mark - 取消升级版本
- (void)cancelCheckupVersions
{
UIView *coverV = (UIView *)[self.view
viewWithTag:700];
[coverV removeFromSuperview];
coverV = nil;
UIImageView *coverImageV = (UIImageView *)[self.view
viewWithTag:701];
[coverImageV removeFromSuperview];
coverImageV = nil;
}
#pragma mark - 升级到新版本
- (void)checkupLastVersions
{
UIWebView *webView = [[UIWebView
alloc] init];
webView.frame =
CGRectMake(0, 0, [UIScreen
mainScreen].bounds.size.width, [UIScreen
mainScreen].bounds.size.height);
webView.backgroundColor = [UIColor
redColor];
CacheData *currentUserInfo = [CacheData
cacheName:@"currentUserInfo"];
NSString *urlStr = [currentUserInfo
objectforKey:@"checkupStr"];
NSURL *url = [NSURL
URLWithString:urlStr];
NSURLRequest *request = [[NSURLRequest
alloc] initWithURL:url];
[webView loadRequest:request];
[self.view
addSubview:webView];
// 隐藏导航栏和tabbar
self.navigationController.navigationBarHidden =
YES;
MMDrawerController *root = (MMDrawerController *)[UIApplication
sharedApplication].keyWindow.rootViewController;
CustomTabBarViewController *custom = (CustomTabBarViewController *)root.centerViewController;
[custom hideTabBar];
}
#pragma mark - 当前已经是最新版本
- (void)ensure
{
UIView *coverV = (UIView *)[self.view
viewWithTag:702];
[coverV removeFromSuperview];
coverV = nil;
UIImageView *coverImageV = (UIImageView *)[self.view
viewWithTag:703];
[coverImageV removeFromSuperview];
coverImageV = nil;
}
- (void)ensureBtnClick
{
UIView *coverV = (UIView *)[self.view
viewWithTag:702];
[coverV removeFromSuperview];
coverV = nil;
UIImageView *coverImageV = (UIImageView *)[self.view
viewWithTag:703];
[coverImageV removeFromSuperview];
coverImageV = nil;
}
#pragma mark - 获取当前版本号
- (NSString *)getVersionBuild
{
return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
}
相关文章推荐
- 推荐系统评测指标—准确率(Precision)、召回率(Recall)、F值(F-Measure)
- poj 3088 组合计数,第二类斯特林数
- delphi 半透明窗体类
- delphi 半透明窗体类
- delphi 一个关于xml文件导入数据库的问题
- delphi 一个关于xml文件导入数据库的问题
- 耿建玲视频总结
- 关于java String的“==”和equals()比较、引用的小问题
- linux编译动态库和静态库的makefile示例
- C和指针 (pointers on C)——第一章:高速启动
- [家里蹲大学数学杂志]第405期中国科学院数学与系统科学研究院2015年夏令营分析与代数试题
- onchar
- Delphi 自带了 Base64 编解码的单元
- Delphi 自带了 Base64 编解码的单元
- sublime text 侧边栏样式修改
- DevExpress VCL for Delphi 各版本收集下载(最新支持Delphi XE 7)
- 作死向之C++告别演出——课程设计(银行储蓄系统(大BUG+功能不完整版))
- HDU3757
- 使用sharesdk 进行第三方分享的流程
- 实现计算机空闲一段时间自动锁屏