文档章节

iOS 检测版本更新

5_apple_xu
 5_apple_xu
发布于 2016/07/22 10:23
字数 314
阅读 2
收藏 0

 首先获取当前使用的版本号。代码如下

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

  CFShow(infoDic);  

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

再获取最新版本信息。

这里有很多方法,最简单的一个方法就是服务器给个接口返回最新版本信息。

 或者从app store上查询,可以获取到app的作者,连接,版本等。

根据 app 的 id 来查找:
http://itunes.apple.com/lookup?id=你的应用程序的ID,获得数据解析出版本号。通过下面代码一对比。是最后版本不同于当前版本就更新,否则没响应!

 if (![lastVersion isEqualToString:currentVersion]) {

            UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"检测到新版本" delegate:self cancelButtonTitle:@"暂不更新" otherButtonTitles:@"更新", nil];

            alert.tag = 9999;

            [alert show];

        }

        else

        {        }

    }

最后附上跳转更新页面代码。

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

{

    if (alertView.tag==9999) {

        if (buttonIndex==1) {

            NSURL *url = [NSURL URLWithString:@"https://itunes.apple.com"];

            [[UIApplication sharedApplication]openURL:url];

        }

    }}

讲道理,苹果官方是拒绝app检测更新的~!但并非没有app仍然带此功能!稍作处理还是能过审核的。自己去想办法吧,很简单

© 著作权归作者所有

共有 人打赏支持
5_apple_xu
粉丝 0
博文 9
码字总数 3468
作品 0
长沙
程序员

暂无文章

八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
41分钟前
1
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
0
0
890. Find and Replace Pattern - LeetCode

Question 890. Find and Replace Pattern Solution 题目大意:从字符串数组中找到类型匹配的如xyy,xxx 思路: 举例:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"abc ......

yysue
昨天
1
0
Linux | Redis

写在前面的话 常言道,不作笔记不读书。在下是深有体会啊,所以,跟我一起做下本节的笔记吧,或许多年以后,你一定会感谢今天的你。 安装 在官网的下载页 Redis Download 直接写了在Linux的安...

冯文议
昨天
2
0
NoSQL-memcached

NoSQL介绍 NoSQL叫非关系型数据库。而关系型数据库代表有MySQL。对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很...

ln97
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部