版本检测更新 调用AppStore 显示自己的app

来源:互联网 发布:阿里云账户注销 编辑:程序博客网 时间:2024/06/04 19:54
#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 <span class="string">startAsynchronous];//开始异步请求</span>    }    - (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]];              }          }      }  } 

调用AppStore显示自己的app:

- (void)openAppaleShop{    NSString *appleID = @"949346638";        if ([UIDevice isIOS7]) {        NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",appleID];        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];    } else {        NSString *str = [NSString stringWithFormat:@"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%@", appleID];        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];    }}


0 0
原创粉丝点击