iOS 版本更新

苹果本来就自带版本更新,但是有些客户就要做版本更新。苹果提供了开放的接口
http://itunes.apple.com/lookup?id=appleID  // appleID App store appleID
appleID
#pragma mark  版本更新

              NSString *appleID =@"1120559848";  //App store appleID
              NSMutableURLRequest *request = [[NSMutableURLRequestalloc] init];
              [request setURL:[NSURLURLWithString:[NSStringstringWithFormat:@"http://itunes.apple.com/lookup?id=%@",appleID]]];
              [request setHTTPMethod:@"GET"];
              NSData *returnData = [NSURLConnectionsendSynchronousRequest:request returningResponse:nilerror:nil];
              NSMutableDictionary *jsondata = [NSJSONSerializationJSONObjectWithData:returnData options:NSJSONReadingMutableLeaveserror:nil];
              NSLog(@"jsondata===%@",jsondata);
              NSMutableArray *resultsArr = [jsondataobjectForKey:@"results"];
              NSMutableDictionary *infodic = [resultsArrobjectAtIndex:0];
              NSString *latestVersion = [infodicobjectForKey:@"version"];
              NSString *trackViewUrl = [infodicobjectForKey:@"trackViewUrl"];
              NSLog(@"%@",trackViewUrl);
              NSLog(@"latestVersion=%@",latestVersion);
              [[NSUserDefaultsstandardUserDefaults]setObject:trackViewUrlforKey:@"trackViewUrl"];
              NSLog(@"uurrll=%@",trackViewUrl);
              NSDictionary *infoDict = [[NSBundlemainBundle] infoDictionary];
              NSString *currentVersion = [infoDictobjectForKey:@"CFBundleShortVersionString"];
              NSLog(@"当前版本号是%@",currentVersion);
              NSLog(@"doublecurrent=%@",currentVersion);
              if ([currentVersionisEqualToString:latestVersion]) {
                  NSLog(@"版本相同不用更新");
                  [[NSUserDefaultsstandardUserDefaults] removeObjectForKey:@"updateVersion"];
                  [[NSUserDefaultsstandardUserDefaults] setObject:@"no"forKey:@"updateVersion"];
              }else
              {   NSArray * newVerAry = [latestVersioncomponentsSeparatedByString:@"."];
                  NSArray * curVerAry = [currentVersioncomponentsSeparatedByString:@"."];
                  for (int i =0; i < [newVerAry count] || i < [curVerArycount]; i++)
                  {
                      int newSubVer, curSubVer;
                      // 如果子版本号数不足,作为0处理
                      if (i >= [newVerArycount])
                      {
                          newSubVer = 0;
                      }
                      else
                      {
                          newSubVer = [[newVerAry objectAtIndex:i]intValue];
                      }
                      
                      if( i >= [curVerArycount])
                      {
                          curSubVer = 0;
                      }
                      else
                      {
                          curSubVer = [[curVerAry objectAtIndex:i]intValue];
                      }
                      
                      if( newSubVer > curSubVer)
                      {
                          NSLog(@"当前版本低,需要更新");
                          [[NSUserDefaultsstandardUserDefaults] removeObjectForKey:@"updateVersion"];
                          [[NSUserDefaultsstandardUserDefaults] setObject:@"yes"forKey:@"updateVersion"];
                          NSLog(@"version == yes");
                          
                          //跳转
                          UIAlertView *alter = [[UIAlertViewalloc] initWithTitle:@"有新版本更新"message:nildelegate:selfcancelButtonTitle:nilotherButtonTitles:@"更新",nil];
                          [alter show];
                          return;
                      }
                      elseif( newSubVer < curSubVer)
                      {
                          NSLog(@"当前版本高不需要更新");
                          [[NSUserDefaultsstandardUserDefaults] removeObjectForKey:@"updateVersion"];
                          [[NSUserDefaultsstandardUserDefaults] setObject:@"no"forKey:@"updateVersion"];
                          return;
                      }
                  }
              }
          


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值