- #pragma mark - 检查更新
- - (void)checkUpdateWithAPPID:(NSString *)APPID
- {
- //获取当前应用版本号
- NSDictionary *appInfo = [[NSBundle mainBundle] infoDictionary];
- NSString *currentVersion = [appInfo objectForKey:@"CFBundleVersion"];
- NSString *updateUrlString = [NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",APPID];
- NSURL *updateUrl = [NSURL URLWithString:updateUrlString];
- versionRequest = [ASIFormDataRequest requestWithURL:updateUrl];
- [versionRequest setRequestMethod:@"GET"];
- [versionRequest setTimeOutSeconds:60];
- [versionRequest addRequestHeader:@"Content-Type" value:@"application/json"];
- //loading view
- CustomAlertView *checkingAlertView = [[CustomAlertView alloc] initWithFrame:NAVIGATION_FRAME style:CustomAlertViewStyleDefault noticeText:@"正在检查更新..."];
- checkingAlertView.userInteractionEnabled = YES;
- [self.navigationController.view addSubview:checkingAlertView];
- [checkingAlertView release];
- [versionRequest setCompletionBlock:^{
- [checkingAlertView removeFromSuperview];
- NSError *error = nil;
- NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:[versionRequest responseData] options:NSJSONReadingMutableContainers error:&error];
- if (!error) {
- if (dict != nil) {
- // DLog(@"dict %@",dict);
- int resultCount = [[dict objectForKey:@"resultCount"] integerValue];
- if (resultCount == 1) {
- NSArray *resultArray = [dict objectForKey:@"results"];
- // DLog(@"version %@",[resultArray objectAtIndex:0]);
- NSDictionary *resultDict = [resultArray objectAtIndex:0];
- // DLog(@"version is %@",[resultDict objectForKey:@"version"]);
- NSString *newVersion = [resultDict objectForKey:@"version"];
- if ([newVersion doubleValue] > [currentVersion doubleValue]) {
- NSString *msg = [NSString stringWithFormat:@"最新版本为%@,是否更新?",newVersion];
- newVersionURlString = [[resultDict objectForKey:@"trackViewUrl"] copy];
- DLog(@"newVersionUrl is %@",newVersionURlString);
- // if ([newVersionURlString hasPrefix:@"https"]) {
- // [newVersionURlString replaceCharactersInRange:NSMakeRange(0, 5) withString:@"itms-apps"];
- // }
- UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:msg delegate:self cancelButtonTitle:@"暂不" otherButtonTitles:@"立即更新", nil nil];
- alertView.tag = 1000;
- [alertView show];
- [alertView release];
- }else
- {
- UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您使用的是最新版本!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil nil];
- alertView.tag = 1001;
- [alertView show];
- [alertView release];
- }
- }
- }
- }else
- {
- DLog("error is %@",[error debugDescription]);
- }
- }];
- [versionRequest setFailedBlock:^{
- [checkingAlertView removeFromSuperview];
- CustomAlertView *alertView = [[CustomAlertView alloc] initWithFrame:NAVIGATION_FRAME style:CustomAlertViewStyleWarning noticeText:@"操作失败,请稍候再试!"];
- [self.navigationController.view addSubview:alertView];
- [alertView release];
- [alertView selfRemoveFromSuperviewAfterSeconds:1.0];
- }];
- [versionRequest startSynchronous];
- }
- - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
- {
- DLog(@"newVersionUrl is %@",newVersionURlString);
- if (buttonIndex) {
- if (alertView.tag == 1000) {
- if(newVersionURlString)
- {
- [[UIApplication sharedApplication] openURL:[NSURL URLWithString:newVersionURlString]];
- }
- }
- }
- }
检查更新
猜你喜欢
转载自firepix.iteye.com/blog/2018783
今日推荐
周排行