NSString *appleID = @"your app appleID";
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",appleID]]];
[request setHTTPMethod:@"GET"];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSMutableDictionary *jsondata = [NSJSONSerialization JSONObjectWithData:returnData options:NSJSONReadingMutableLeaves error:nil];
NSLog(@"jsondata===%@",jsondata);
NSMutableArray *resultsArr = [jsondata objectForKey:@"results"];
NSMutableDictionary *infodic = [resultsArr objectAtIndex:0];
NSString *latestVersion = [infodic objectForKey:@"version"];
NSString *trackViewUrl = [infodic objectForKey:@"trackViewUrl"];
NSLog(@"%@",trackViewUrl);
NSLog(@"latestVersion=%@",latestVersion);
[[NSUserDefaults standardUserDefaults]setObject:trackViewUrl forKey:@"trackViewUrl"];
NSLog(@"uurrll=%@",trackViewUrl);
NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
NSString *currentVersion = [infoDict objectForKey:@"CFBundleShortVersionString"];
NSLog(@"當(dāng)前版本號(hào)是%@",currentVersion);
NSLog(@"doublecurrent=%@",currentVersion);
if ([currentVersion isEqualToString:latestVersion]) {
NSLog(@"版本相同 不用更新");
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"updateVersion"];
[[NSUserDefaults standardUserDefaults] setObject:@"no" forKey:@"updateVersion"];
}else
{ NSArray * newVerAry = [latestVersion componentsSeparatedByString:@"."];
NSArray * curVerAry = [currentVersion componentsSeparatedByString:@"."];
for (int i = 0; i < [newVerAry count] || i < [curVerAry count]; i++)
{
int newSubVer, curSubVer;
// 如果子版本號(hào)數(shù)不足,作為0處理
if (i >= [newVerAry count])
{
newSubVer = 0;
}
else
{
newSubVer = [[newVerAry objectAtIndex:i] intValue];
}
if( i >= [curVerAry count])
{
curSubVer = 0;
}
else
{
curSubVer = [[curVerAry objectAtIndex:i] intValue];
}
if( newSubVer > curSubVer)
{
NSLog(@"當(dāng)前版本低 ,需要更新");
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"updateVersion"];
[[NSUserDefaults standardUserDefaults] setObject:@"yes" forKey:@"updateVersion"];
NSLog(@"version == yes");
return;
}
else if( newSubVer < curSubVer)
{
NSLog(@"當(dāng)前版本高 不需要更新");
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"updateVersion"];
[[NSUserDefaults standardUserDefaults] setObject:@"no" forKey:@"updateVersion"];
return;
}
}
}
上邊是完整的判斷代碼,判斷結(jié)果保存在UserDefaults里邊晤柄,“yes”為有新版本,“no”為沒有新版本拭嫁。
該方法適用于APP版本為1.0.0這種格式可免。