检测新版本,无需appID,只需要项目的bundleID就可以了
直接贴代码:
#define APPSTOREURL @"https://itunes.apple.com/lookup?bundleId="
- (NSDictionary *)checkVersion{
NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
NSError *error;
NSString *urlStr = [NSString stringWithFormat:@"%@%@",APPSTOREURL,infoDic[@"CFBundleIdentifier"]];
NSLog(@"urlStr === %@",urlStr);
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSDictionary *appInfo = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];
NSLog(@"appInfo === %@",appInfo);
if (error) {
NSLog(@"%@",error.description);
return nil;
}
NSArray *resultArray = [appInfo objectForKey:@"results"];
if (![resultArray count]) {
NSLog(@"error:resultArray == nil");
return nil;
}
//AppStore上的版本号
NSDictionary *infoDict = [resultArray firstObject];
//最新版本号
NSString *appVersion = infoDict[@"version"];
//名称
NSString *trackName = infoDict[@"trackName"];
//新包大小
NSString *fileSizeBytes = infoDict[@"fileSizeBytes"];
//渠道链接
self.trackUrl = infoDict[@"trackViewUrl"];
//新版本发布时间
NSString *currentVersionReleaseDate = infoDict[@"currentVersionReleaseDate"];
//新版本价格
NSString *price = infoDict[@"price"];
//新版本发布说明
NSString *releaseNotes = infoDict[@"releaseNotes"];
//最低支持系统
NSString *minimumOsVersion = infoDict[@"minimumOsVersion"];
//版本类型
NSString *kind = infoDict[@"kind"];
//渠道id
NSString *trackID = infoDict[@"trackId"];
//调接口,显示这个版本是否强制更新,调用你自己的接口,平台给吧
NSString *upgradeUrl = [NSString stringWithFormat:@""];
NSURLRequest *upgradeRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:upgradeUrl]];
NSData *responseData = [NSURLConnection sendSynchronousRequest:upgradeRequest returningResponse:nil error:nil];
NSDictionary *upgradeDict = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:&error];
// NSLog(@"upgradeDict == %@",upgradeDict);
//获取当前软件版本
NSString *nowVersion = infoDic[@"CFBundleShortVersionString"];
//判断是否需要更新,
NSString *isUpgrade;
if (![appVersion isEqualToString:nowVersion]) {
isUpgrade = @"1";
}else{
isUpgrade = @"0";
}
NSDictionary *backDict = @{@"isUpgrade":isUpgrade,
@"isForcedUpgrade":upgradeDict[@"isForcedUpgrade"],
@"appversion":appVersion,
@"trackname":trackName,
@"fileSizeBytes":fileSizeBytes,
@"trackurl":self.trackUrl,
@"currentVersionReleaseDate":currentVersionReleaseDate,
@"price":price,
@"releaseNotes":releaseNotes,
@"minimumOsVersion":minimumOsVersion,
@"kind":kind,
@"trackID":trackID};
return backDict;
}