iOS开发 检测版本更新的实现
来源:互联网 发布:xbox手柄mac驱动下载 编辑:程序博客网 时间:2024/06/13 02:12
苹果给了我们一个接口,能根据应用id请求一些关于应用的信息。我们可以根据返回的信息,来判断版本是否和应用的版本一致,如果不一致,那么就出现新的版本了。这时,就需要向用户提醒有新的版本,需要更新。具体步骤如下:
NSMutableURLRequest*request=[[NSMutableURLRequestalloc]init];
[request setURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@",appleID]]];
[request setHTTPMethod:@"GET"];
NSData*returnData=[NSURLConnectionsendSynchronousRequest:requestreturningResponse:nilerror:nil];
NSDictionary*jsonData=[NSJSONSerializationJSONObjectWithData:returnDataoptions:0error:nil];
NSString*latestVersion=[releaseInfoobjectForKey:@"version"];
NSString*trackViewUrl1 =[releaseInfoobjectForKey:@"trackViewUrl"];//地址trackViewUrl
NSString*trackName=[releaseInfoobjectForKey:@"trackName"];//trackName
获取此应用的版本号
NSString*currentVersion=[infoDictobjectForKey:@"CFBundleVersion"];
NSDictionary*infoDict=[[NSBundlemainBundle]infoDictionary];
NSString*currentVersion=[infoDictobjectForKey:@"CFBundleVersion"];
doubledoubleCurrentVersion=[currentVersiondoubleValue];
if(doubleCurrentVersion<doubleUpdateVersion){
UIAlertView*alert;
alert=[[UIAlertViewalloc]initWithTitle:trackName
message:@"有新版本,是否升级!"
delegate: self
cancelButtonTitle:@"取消"
otherButtonTitles: @"升级",nil];
alert.tag =1001;
[alertshow];
}
else{
UIAlertView*alert;
alert=[[UIAlertViewalloc]initWithTitle:trackName
message:@"暂无新版本"
delegate: nil
cancelButtonTitle:@"好的"
otherButtonTitles: nil,nil];
[alertshow];
}
如果有新的版本,那么就跳转至下载页面,这里就用到了trackViewUrl,trackViewUrl是全路径,直接请求。
[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:trackViewUrl]];
//以"."分隔数字然后分配到不同数组
NSArray * serverArray = [dict[@"version"]componentsSeparatedByString:@"."];
NSArray * localArray = [currentVersioncomponentsSeparatedByString:@"."];
for (int i =0; i < serverArray.count; i++) {
if ( [serverArray[i]intValue] > [localArray[i]intValue]) {
//有新版本,提示!提示同上
[selfshowUpdateAlert];
break;
}
}
- iOS开发 检测版本更新的实现
- iOS开发检测AppStore版本更新
- iOS简单实现版本更新检测
- iOS APP如何实现版本检测更新
- iOS APP如何实现版本检测更新
- iOS 检测版本更新
- iOS 检测版本更新
- IOS检测版本更新
- iOS检测版本更新
- iOS 检测版本更新
- iOS 检测版本更新
- IOS 版本更新检测
- iOS 检测版本更新
- iOS 检测版本更新
- iOS --检测更新版本
- ios检测版本更新
- iOS 检测版本更新
- iOS 检测版本更新
- HTTP协议
- Problem E: C语言习题 输出月份
- 矩阵的理解
- Java Web 开发遇到的坑和注意点 涉及Jquery,Servlet等等
- poj 3177(桥)
- iOS开发 检测版本更新的实现
- 解决sts 导入maven工程 报 Lifecycle mapping "org.eclipse.m2e.jdt.JarLifecycleMapping" is not available.
- iOS 按固定格式获得当前年月日 星期
- JS中关于把函数作为另一函数的参数的几点小总结
- 封装
- ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/pod
- 利用Canny边缘检测算子进行边缘检测的原理及OpenCV代码实现
- B001-Atmega16-定时器1-(ques=1)
- Problem A: C语言习题 计算该日在本年中是第几天