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
- IOS版本检测,更新版本
- iOS 检测版本更新
- ios检查版本更新
- ios版本更新
- iOS 检测版本更新
- IOS检测版本更新
- IOS版本更新
- ios检查版本更新
- iOS检测版本更新
- iOS 检测版本更新
- ios版本更新
- iOS 版本更新
- iOS 检测版本更新
- IOS 版本更新检测
- iOS 检测版本更新
- iOS 检测版本更新
- iOS --检测更新版本
- IOS 版本检查更新
- poj2251
- 测试Prodction应用的推送证书是否正确
- baseactivity实现封装toolbar
- Access数据库连接(加密/不加密)
- webpack基础用法
- iOS 版本更新
- docker实战(二) - 基本概念
- 万分之一错误率问题的分析及定位
- android 如何设置屏幕亮度默认值为自动调节
- (c++)求1+2!+3!+4!+…+30!。 科学计数法,保留两位小数。
- Android开发 Error(建议收藏下来以备不时之需):The number of method references in a .dex file cannot exceed 64K.
- 【Usaco 2007 Dec silver】穿越泥地 (Standard IO)
- 交叉编译并移植opencv3.0.0到arm板
- 安卓开源项目周报0117