文档章节

iOS 判断版本号

别情花如依丶
 别情花如依丶
发布于 2017/05/08 13:47
字数 264
阅读 488
收藏 2

码上生花,ECharts 作品展示赛正式启动!>>>

采用 "https://itunes.apple.com/cn/lookup?id=" + 版本号获取(如果是针对全球上线的用https://itunes.apple.com/lookup?id=) app 信息与本地版本号比较确定是否提示更新.实现代码如下:

/**
 判断 APP 是否有更新

 @param appleid app 在 appstore 的 id 号
 */
- (void)ay_checkAPPVersionWithAppleID:(NSString*)appleid{
    
    NSError *error ;
    NSData *appInfoData = [NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"https://itunes.apple.com/cn/lookup?id=%@",appleid]] options:NSDataReadingUncached error:&error];
    
    if (!error) {
        NSDictionary *appInfoDic = [NSJSONSerialization JSONObjectWithData:appInfoData options:NSJSONReadingMutableContainers error:nil];
        NSString *appInfoVersion = appInfoDic[@"results"][0][@"version"];// APPStore 版本号
        NSString *currentVersion = [NSBundle mainBundle].infoDictionary[@"CFBundleShortVersionString"];
        NSString *ceachVersion = [[NSUserDefaults standardUserDefaults] stringForKey:@"CFBundleShortVersionString"];//沙盒缓存版本号
        if ([self ay_getVersionWithStr:appInfoVersion] > [self ay_getVersionWithStr:currentVersion] && ![ceachVersion isEqualToString:appInfoVersion]) {
            //将 appstore 中的版本号同步到本地
            [[NSUserDefaults standardUserDefaults] setValue:appInfoVersion forKey:@"CFBundleShortVersionString"];
            UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"更新提示信息" message:nil preferredStyle:UIAlertControllerStyleAlert];
            UIAlertAction *okAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                if (iOS10orlater) {
                    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app 下载地址"] options:[NSDictionary dictionary] completionHandler:nil];
                } else {
                    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app 下载地址"]];
                }
            }];
            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:nil];
            [alertVC addAction:okAction];
            [alertVC addAction:cancelAction];

            [self.window.rootViewController presentViewController:alertVC animated:YES completion:nil];
        }
    }
}

 

© 著作权归作者所有

别情花如依丶

别情花如依丶

粉丝 7
博文 80
码字总数 24192
作品 6
济南
程序员
私信 提问
加载中
此博客有 1 条评论,请先登录后再查看。
iOS代码技巧之判断设备及状态

一、判断设备 //设备名称return [UIDevice currentDevice].name; //设备型号,只可得到是何设备,无法得到是第几代设备return [UIDevice currentDevice].model; //系统版本型号,如iPhone OS...

谁家的阿毛
2014/04/17
219
0
[iOS开发]使用Swift检测系统版本信息

iOS系统版本获取 获取当前运行系统的版本号: 比较版本号 最主要的是与iOS 8版本进行比较: 其中,NSComparisonResult有三个值: 进行判断 对比较结果进行判断,并做相应的操作:...

Haffe
2014/11/04
542
0
【js】react-native Could not find iPhone 6 simulator 和 Entry, ":CFBundleIdentifier", ...

一、在运行rn app应用时,react-native run:ios 报错出现 1 Could not find iPhone 6 simulator 解决办法: 1、react-native run-ios --simulator="iPhone 6",运行时指定启动版本 2 、Open ......

osc_uspzomb8
2019/05/22
4
0
apicloud 上传/更新App版本到 ios store 流程步骤

app更新 上传APP的地址: https://itunesconnect.apple.com/login 苹果开发者中心: https://developer.apple.com/ app正式包更新 进入apicloud进行云编译,平台: ios、安卓(勾选使用升级环境编...

osc_1h425qie
2019/02/20
1
0
cocoapod podpackage 自动根据podfile生成framework实现二进制化,原创脚本,转载请注明出处

#!/bin/bash # created by lichanghong ; mail: lichanghong@soyoung.com # XXX.sh AFNetworking 3.0.0 set -e . ./pod_function.sh readpodfileatcurrent_path gitpathdir=$HOME"/.changhon......

osc_vo8kvenl
2018/07/01
4
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯2020年Java实习生面试,15天后已拿offer,激动!

近期收到很多小伙伴发来的面试题,因为有很多大小厂的面试题,所以我这也大概整理总结了一下,把那些比较典型有特色且面试内容比较广泛对大家都有用处的面试题汇总了一下。以下便是汇总好的几...

osc_6i7redvq
19分钟前
16
0
Python: strip()和split()的用法与区别

一.strip() strip用于字符串头部和尾部的指定字符串,默认为空格或换行符。 比如我们有字符串: str="123123\n" 我们使用strip方法:: str.strip() 因此将会输出: 'asdasdasd' 我们可以看到尾...

osc_sbtpzgv1
20分钟前
13
0
面了一个工作4年的程序员,这个些面试题一个都答不上来

最近有很多朋友去目前主流的大型互联网公司面试(阿里巴巴、京东、字节跳动、蚂蚁金服、滴滴),面试回来之后会发给我一些面试题。有些朋友轻松过关,拿到offer,但是有一些是来询问我答案的...

osc_mpdswsal
21分钟前
19
0
迅捷CAD转换器怎么将PDF文档转成CAD?

在设计行业的伙伴们想必会对CAD文件进行各种格式转换,比如DXF和DWG互转、高低版本文件互转、PDF转为CAD等。面对一系列的文件转换问题,该用什么软件才好呢?今天小张向大家介绍一款实用的软...

真不莲
21分钟前
13
0
sourceTree使用

1.保证本地分支(看小圆圈)跟踪远程master分支 2.拉取前需要双击分支 现在是在master分支上(看小圆圈) 【【双击切换分支】】,让本地分支(看小圆圈)和master分支同步...

osc_63i522q0
22分钟前
22
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部