这里用的升级方法是通过访问appStore获取版本号进行对比的, 如果公司内有提供版本的接口, 也可以使用公司的接口进行判断, 步骤都一样
//检测软件是否需要升级
- (void)checkVersion{
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/cn/lookup?id=391945719"];
NSData *jsonResponseData = [NSData dataWithContentsOfURL:url];
if (jsonResponseData) {
dispatch_async(dispatch_get_main_queue(), ^{
NSString *newVersion;
//解析json数据为数据字典
NSDictionary *loginAuthenticationResponse = [self dictionaryFromJsonFormatOriginalData:jsonResponseData];
JJLog(@"%@",loginAuthenticationResponse);
//从数据字典中检出版本号数据
NSArray *configData = [loginAuthenticationResponse valueForKey:@"results"];
for(id config in configData)
{
newVersion = [config valueForKey:@"version"];
}
NSLog(@"通过appStore获取的版本号是:%@",newVersion);
//获取本地软件的版本号
NSString *localVersion = [[[NSBundle mainBundle]infoDictionary] objectForKey:@"CFBundleVersion"];
NSString *msg = [NSString stringWithFormat:@"你当前的版本是V%@,发现新版本V%@,是否下载新版本?",localVersion,newVersion];
//对比发现的新版本和本地的版本
if ([newVersion floatValue] > [localVersion floatValue])
{
UIAlertView *createUserResponseAlert = [[UIAlertView alloc] initWithTitle:@"升级提示!" message:msg delegate:self cancelButtonTitle:@"下次再说" otherButtonTitles: @"现在升级", nil];
[createUserResponseAlert show];
}
});
}
});
}
//响应升级提示按钮
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
//如果选择“现在升级”
if (buttonIndex == 1)
{
//打开iTunes 方法一
//这个链接在iTunes上面我的App-App信息-额外信息-在AppStore中查看即可获得该地址
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/wan-zhuan-quan-cheng/id391945719?mt=8"]];
// 打开iTunes 方法二:此方法总是提示“无法连接到itunes”,不推荐使用
NSString *iTunesLink = @"itms-apps://phobos.apple.com/WebObjects/MZStore.woa/wa/viewSoftwareUpdate?id=692579125&mt=8";
//打开iTunes 方法三(我目前使用的方法)
NSString *iTunesLink = @"itms-apps://itunes.apple.com/cn/app/id10593231"
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:iTunesLink]];
*/
}
}
注:app的id是在第一次在iTunes上创建应用的时候, 会有提供id, 然后在到这里面去提交你要发布的版本就好, 具体可以度娘如果发布应用