有时候为了需求,我们需要检测app版本更新今天在这里整合下

//获取当前版本号

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary];

CFShow((__bridge CFTypeRef)(infoDictionary));

NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];

//获取苹果商店的版本号

NSError  *error;

NSString * urlStr = [NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=你要检测的app版本"];

NSURL * url =[NSURL URLWithString:urlStr];

NSURLRequest * request =[NSURLRequest requestWithURL:url];

NSData * response =[NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

NSDictionary * appInfo =[NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];

if (error) {

NSLog(@"error:%@",[error description]);

}

NSArray *resultsArray =[appInfo objectForKey:@"results"];

if (![resultsArray count]) {

NSLog( @"error: nil");

return self;

}

NSDictionary * infoDic =[resultsArray objectAtIndex:0];

NSString * appVersion = [infoDic objectForKey:@"version"];

appUrl =[infoDic objectForKey:@"trackViewUrl"];

double doucurrV =[app_Version doubleValue];

double  douappV= [appVersion doubleValue];

//判断版本号对比

if (doucurrV < douappV) {

NSString * titleStr =[NSString stringWithFormat:@"检查更新"];

NSString * message =[NSString stringWithFormat:@"发现新版本,是否更新?"];

UIAlertView * alert = [[UIAlertView alloc]initWithTitle:titleStr message:message delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

alert.tag = 1001;

[alert show];

}else

{

UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"检测更新" message:@"无更新版本"delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];

alert.tag = 1002;

[alert show];

}

//跳转更新

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

if (alertView.tag ==1001) {

if (buttonIndex == 1) {

[[UIApplication sharedApplication]openURL:[NSURL URLWithString: appUrl]];

}

}

}

iOS检测版本更新的更多相关文章

  1. iOS 检测版本更新(02)

    iOS 检测版本更新 如果我们要检测app版本的更新,那么我们必须获取当前运行app版本的版本信息和appstore 上发布的最新版本的信息. 当前运行版本信息可以通过info.plist文件中的bu ...

  2. iOS 检测版本更新

    如果我们要检测app版本的更新,那么我们必须获取当前运行app版本的版本信息和appstore 上发布的最新版本的信息. 当前运行版本信息可以通过info.plist文件中的bundle versio ...

  3. iOS子线程操作检测版本更新,有新版本通知用户更新, CheckVersion

    iOS子线程操作检测版本更新,有新版本通知用户更新 CheckVersion 一:如何使用: #import "CheckVersion.h" //输入你的app在appStore ...

  4. iOS开发 检测版本更新

    iOS开发 检测版本更新的实现 苹果给了我们一个接口,能根据应用id请求一些关于应用的信息.我们可以根据返回的信息,来判断版本是否和应用的版本一致,如果不一致,那么就出现新的版本了.这时,就需要向用户 ...

  5. 检测版本更新,iOS

    检测版本更新的方法. //检查新版本 更新 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, ), ^ ...

  6. iOS检测用户截屏并获取所截图片

    iOS检测用户截屏并获取所截图片 微信可以检测到用户截屏行为(Home + Power),并在稍后点击附加功能按钮时询问用户是否要发送刚才截屏的图片,这个用户体验非常好.在iOS7之前, 如果用户截屏 ...

  7. iOS 检测文本中的 URL、电话号码等信息

    iOS 检测文本中的 URL.电话号码等信息 要检测文本中的 URL.电话号码等,除了用正则表达式,还可以用 NSDataDetector. 用 NSTextCheckingResult.Checki ...

  8. iOS自动检测版本更新

    虽然苹果官方是不允许应用自动检测更新,提示用户下载,因为苹果会提示你有多少个软件需要更新,但是有的时候提示用户一下有新版还是很有必要的. 首先说一下原理: 每个上架的苹果应用程序,都会有一个应用程序的 ...

  9. iOS - Harpy版本更新工具兼容版本第三方库

    Harpy(兼容版) git地址:https://github.com/yangchao0033/Harpy ###(iOS5-9适配版本,基于ArtSabintsev/Harpy v3.4.5) 提 ...

随机推荐

  1. mysql实战之 批量update

    mysql实战之批量update 现阶段我们的业务量很小,要对admin_user表中的relationship字段进行更新,指定id是409.已知409是公司内的一服务中心,需要把该服务中心放到区代 ...

  2. php保留键随机打乱数组顺序

    最近遇到一个需求,把一个数组随机打乱顺序,我们可以用php的shuffle函数,但是这个函数会把数组的键清空建立新的键,那么我们若想保留键只需要利用shuffle函数再做一下处理就可以了.可以自定义一 ...

  3. 利用反卷积神经网络可视化CNN

    http://blog.csdn.net/hjimce/article/details/51762046 http://arxiv.org/pdf/1311.2901.pdf Visualizing ...

  4. 不再为Apache进程淤积、耗尽内存而困扰((转))

    本篇文章是为使用Apache+MySQL,并为Apache耗尽内存而困扰的系统管理员而写.如果您没有耐心读完本文,请参考以下步骤: 修改/etc/my.cnf,加上这样一行: log-slow-que ...

  5. linux内核学习心得

    最初在其他课程做实验的时候接触到了linux,震撼于linux的开源精神,想更了解linux的内部原理,选了这门课程.通过这门课程对linux内部实现有了一定的了解,主要是中断.进程切换.系统函数的具 ...

  6. DOM常用操作总结

    一.getElementById() 寻找一个有着给定 id 属性值的元素,返回值是一个有着给定 id 属性值的元素节点.如果不存在,这样的元素,它返回 null. 二.getElementsByNa ...

  7. 01.JavaScript 面向对象精要--原始类型和引用类型

    一.什么是类型 JavaScript 虽然没有类的概念.但依然存在两种类型:原始类型和应用类型. 原始类型保存为简单的数据值,引用类型则保存为对象,其本质是指向内存位置 的引用.也就是说:原始值被直接 ...

  8. 在VIM中进行快速的查找和替换

    VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f ...

  9. CI3.0控制器下面建文件夹 访问一直404 的解决方法

    在单入口文件(框架目录下面的index.php)最下面的require_once BASEPATH.'core/CodeIgniter.php';这行上面设置一个路径,是相对于conrollers文件 ...

  10. 在checkbox中使用.prop; angular中属性的值使用变量问题

    1.在checkbox中使用.prop而不使用.attr ,.attr有时并不如愿的改变checkbox的打钩问题 给这个checkbox设置return  false就能阻止点击则改变状态的默认行为 ...