您的位置:首页 > 其它

检测新版本

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"];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: