iOS添加自动更新的代码
- (void)versionUpdate{
    //获得当前发布的版本
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, ), ^{
        //耗时的操作--获取某个应用在AppStore上的信息,更改id就行
        __weak LoginViewController *weakSelf = self;
        NSString *string = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://itunes.apple.com/cn/lookup?id=1108288793"] encoding:NSUTF8StringEncoding error:nil];
        NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
        NSString *version = [[[dic objectForKey:@"results"]firstObject]objectForKey:@"version"];
        NSString *updateInfo = [[[dic objectForKey:@"results"]firstObject]objectForKey:@"releaseNotes"];
        //NSString *updateURL = [[[dic valueForKey:@"results"] firstObject] objectForKey:@""];
        //获得当前版本
        NSString *currentVersion = [[[NSBundle mainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"];
        dispatch_async(dispatch_get_main_queue(), ^{
            //更新界面
            if ( version &&![version isEqualToString:currentVersion]) {
                //有新版本
                NSString *message = [NSString stringWithFormat:@"有新版本发布啦!\n%@",updateInfo];
                UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"温馨提示" message:message preferredStyle:UIAlertControllerStyleAlert];
                UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"忽略" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
                }];
                UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"前往更新" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                    NSString *url = @"https://itunes.apple.com/cn/app/rich-products/id1108288793?mt=8&uo=4";
                    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
                }];
                [alertController addAction:action1];
                [alertController addAction:action2];
                [weakSelf presentViewController:alertController animated:YES completion:nil];
            }else{
                //已是最高版本
                NSLog(@"已是最高版本");
            }
        });
    });
}
记得http://itunes.apple.com/cn/lookup?id=1108288793,这中间的这个CN不能掉了,不然返回的JSON数组为空。
iOS添加自动更新的代码的更多相关文章
- 后盾网lavarel视频项目---phpstorm 配置ftp, 自动更新同步代码
		后盾网lavarel视频项目---phpstorm 配置ftp, 自动更新同步代码 一.总结 一句话总结: 1.在phpstorm中设置:路径Tools/Deployment/Configuratio ... 
- iOS  关于自动更新的分阶段发布(灰度发布)的相关简介
		前言: AppStore 发布应用方式除了自动和手动,如今添加了分阶段发布(灰度发布).目的很明确,降低新版本骤然上升的bug率,不能挽回,只能发布新版本的风险.也也是针对禁止使用热修复,推出的相对 ... 
- Git github webhook  自动更新/部署代码  php自动更新脚本
		这几天尝试了利用github的webhook,当代码更新到github,我们的测试服务器自动更新最新的gitbub仓库代码. 先列几个大概步骤,有时间再补充详细 1 . 服务器生成ssh key,一般 ... 
- svn自动更新网站代码
		运行环境说明:svn的执行目录: /usr/bin/svnsvn版本库目录: /usr/local/nginx/html/svnrepos/coinhello (其中svnrepos是我各个项目版本库 ... 
- 如何屏蔽 iOS 软件自动更新,去除更新通知和标记
		适用于 iOS.iPadOS 和 watchOS,即 iPhone.iPad 和 Apple Watch 通用. 请访问原文链接:https://sysin.org/article/Disable-i ... 
- 关闭iOS的自动更新
		Safari打开网址https://oldcat.me/web/NOOTA9.mobileconfig,安装描述文件,就不会自动下载和提示更新最新的iOS了 
- ios关闭自动更新
		iPhone系统更新超级烦人,避免测试机升级的方法 1. 设置禁用网络 设置-网线局域网-使用WLAN与蜂窝移动网的应用,将设置项设置为关闭 2. 一劳永逸,安装证书, 证书https://oldca ... 
- git自动更新网站代码
		1.实现过程在linux上安装git服务.创建源版本库.从源版本库克隆得到网站目录,然后利用git中的hooks机制,在git push推送代码到源版本库的时候,触发编写的shell脚本,更新网站目录 ... 
- springboot项目自动更新修改代码工具
		在pom.xml配置文件加入以下依赖,代码修改就不需要重启了. <dependency> <groupId>org.springframework.boot</group ... 
随机推荐
- 只要项目是maven构建的,pom.xml中依赖的jar包全都默认去你电脑本地仓库去找
			只要项目是maven构建的,pom.xml中依赖的jar包全都默认去你电脑本地仓库去找 
- GDC 2016 神秘海域4中使用Substance制作Texture
			TEXTURING UNCHARTED 4: A MATTER OF SUBSTANCE 原文链接 http://www.dualshockers.com/2016/03/16/amazing-unc ... 
- DirectX 基础学习系列6 字体
			DIRECTX9自带ID3DXFONT类 内部调用GDI的接口,效率一般,但能够处理一些复杂的字体 HRESULT D3DXCreateFontIndirect( LPDIRECT3DDEVICE9 ... 
- Nutch相关框架视频教程--说明
			PDF文档: Nutch大数据相关框架讲义.pdf Nutch1.7二次开发培训讲义.pdf Nutch1.7二次开发培训讲义之腾讯微博抓取分析 Nutch公开课从搜索引擎到网络爬虫 ======== ... 
- spring mvc配置文件dispatcher-servlet.xml详解
			Spring的配置文档<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ... 
- Oracle存储过程基本语法 存储过程
			Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ... 
- hdc cdc
			CWindowDC dc(this); HDC hdc=dc.GetSafeHdc(); using namespace Gdiplus; Graphics graphics(hdc); graphi ... 
- java并发编程-线程池的使用
			参考文章:http://www.cnblogs.com/dolphin0520/p/3932921.html 深入剖析线程池实现原理 将从下面几个方面讲解: 1.线程池状态 2.任务的执行 3.线程池 ... 
- 【C】用我所学去讲C语言指针
			很多人不敢讲C的指针,有些人讲不清,有些人怕讲错.初生牛犊不怕虎,就让我讲讲. 下面开始. 一.指针的定义 指针是内存单元的编号.内存单元是以字节为单位的.所以指针就是字节的编号. 比如我们的个人电 ... 
- android jdbc 远程数据库
			http://blog.csdn.net/conowen/article/details/7435231/ 
