iOS 版本更新

来源:互联网 发布:免费淘宝装修软件 编辑:程序博客网 时间:2024/05/21 01:53

苹果本来就自带版本更新,但是有些客户就要做版本更新。苹果提供了开放的接口http://itunes.apple.com/lookup?id=appleID  // appleID App store appleIDappleID#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;                      }                  }              }          


0 0