·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> app软件开发 >> IOS开发 >> iOS开发之检查更新

iOS开发之检查更新

作者:佚名      IOS开发编辑:admin      更新时间:2022-07-23

iOS开发之检查更新

#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];                         alertView.tag = 1000;                         [alertView show];                         [alertView release];                     }else                     {                         UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"您使用的是最新版本!" delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定"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]];             }         }     } }