IOS版本更新代码——商店版本
2016-05-11 10:25
423 查看
#define kStoreAppId @"1064298982" //商店的苹果appid
-(void)checkAppUpdate { dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary]; NSString *nowVersion = [infoDict objectForKey:@"CFBundleVersion"]; NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@", kStoreAppId]]; NSString * file = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil]; NSLog(@"%@",file); dispatch_async(dispatch_get_main_queue(), ^{ NSData *data = [file dataUsingEncoding:NSUTF8StringEncoding]; NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]; if(((NSArray*)dic[@"results"]).count>0) { NSString *newVersion = [NSString stringWithFormat:@"%@",dic[@"results"][0][@"version"]]; NSString *nowVersion2 = [nowVersion stringByReplacingOccurrencesOfString:@"." withString:@""]; NSString *newVersion2 = [newVersion stringByReplacingOccurrencesOfString:@"." withString:@""]; if([newVersion2 intValue]>[nowVersion2 intValue]) { NSString *newMsg = [NSString stringWithFormat:@"%@",dic[@"results"][0][@"releaseNotes"]]; NSString *newstr = [NSString stringWithFormat:@"有新版V%@",newVersion]; UIAlertView *alert = [[UIAlertView alloc] initWithTitle:newstr message:newMsg delegate:self cancelButtonTitle:@"取消"otherButtonTitles:@"更新",nil]; [alert show]; } } }); }); } - (void)alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { if(buttonIndex==1) { // 此处加入应用在app store的地址,方便用户去更新,一种实现方式如下: NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://itunes.apple.com/us/app/id%@?ls=1&mt=8", kStoreAppId]]; [[UIApplication sharedApplication] openURL:url]; } }
相关文章推荐
- iOS 使用 Runtime Attribute 为 IB 控件添加不能直接设置的属性
- IOS高级开发~Runtime(四)
- IOS高级开发~Runtime(三)
- IOS高级开发~Runtime(二)
- IOS高级开发~Runtime(一)
- Cocoapods trunk
- ios添加图片资源报(ImageAsset)错和警告
- ios import和@class的区别
- Xcoder的钢琴手之路
- iOS coredata本地数据调取为空
- IOS高级开发~Runtime(四)
- IOS高级开发~Runtime(三)
- IOS高级开发~Runtime(二)
- IOS高级开发~Runtime(一)
- iOS 全部清空通讯录
- iOS开发 - 音频相关
- ios开发中类方法与self的注意点 与实例方法区别
- iOS开发 字体的几种设置方法
- iOS应用内语言切换功能
- iOS添加、删除通讯录 (清空通讯录)