iOS开发之Appstore篇——版本更新


1.版本更新方法

+ (void)updateWithAPPID:(NSString *)appid back:(void (^)(NSString *, NSString *, NSString *, BOOL))back{
    NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
    __block NSString *currentVersion = infoDic[@"CFBundleShortVersionString"];
    __block NSString *appstoreVersion = currentVersion;
    [self httpToolRequestWithUrlStr:nil baseUrl:[NSString stringWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",appid] method:GETSTR parameters:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
        if (responseObject) {
            NSArray *results = responseObject[@"results"];
            NSDictionary *lastDict = [results lastObject];
            appstoreVersion = lastDict[@"version"];
            NSString *appstoreUrl = lastDict[@"trackViewUrl"];
            if (![currentVersion isEqualToString:appstoreVersion]) {
                if (back) {
                    back(currentVersion,appstoreVersion,appstoreUrl,YES);
                }
            }else{//不更新
                if (back) {
                    back(currentVersion,appstoreVersion,nil,NO);
                }
            }
        }else{//不更新
            if (back) {
                back(currentVersion,appstoreVersion,nil,NO);
            }
        }
    }];
}

2.页面更新提示

  [HttpTool updateWithAPPID:@"你的appid" back:^(NSString *currentVersion, NSString *storeVersion, NSString *openUrl, BOOL isUpdate) {
                        if (isUpdate) {
                            UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"版本更新" message:@"app更新了,赶快去更新啦!" preferredStyle:UIAlertControllerStyleAlert];
                            UIAlertAction *affirAction = [UIAlertAction actionWithTitle:@"更新" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                                [[UIApplication sharedApplication]openURL:[NSURL URLWithString:openUrl]];
                            }];
                            UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"暂不更新" style:UIAlertActionStyleCancel handler:nil];
                            [alertVC addAction:affirAction];
                            [alertVC addAction:cancelAction];
                            [self.window.rootViewController presentViewController:alertVC animated:YES completion:nil];
                        }
                    }];

  

时间: 2024-08-12 11:27:33

iOS开发之Appstore篇——版本更新的相关文章

IOS开发之OC篇-响应式编程Reactive Cocoa

一.Reactive Cocoa 介绍 Reactive Cocoa 是 iOS 开发的一个 "重量级" 框架 高大上的概念:响应式编程 核心概念:信号 Signal 官方网站:https://github.com/ReactiveCocoa/ReactiveCocoa 二.相关概念 1> 响应式编程 举个栗子,在一般程序开发时  a = b + c , 赋值之后 b 或者 c 的值变化后,a 的值不会跟着变化, 如果使用响应式编程,目标就是,如果 b 或者 c 的数值发生变化,

李洪强iOS开发之iOS好文章收集

李洪强iOS开发之iOS好文章收集 该文收集朋友们转发或自己的写的技术文章,如果你也有相关的好文章,欢迎留言,当好文章多的时候,我会对这些好文章进行分门别类 文章 简述 日期 直播服务配置 使用 nginx 和 rtmp 插件搭建视频直播和点播服务器 2015-05-12 20:13:00 iOS9适配技巧 图iOS9适配新技巧 2015-09-29 09:01 TextKit分页效果 图文混排 2015年6月1日 iPhone 6 / 6 Plus 设计·适配方案 屏幕适配 2014-11-2

iOS开发之WKWebView简单使用和常用使用场景

iOS开发之 WKWebVeiw使用 想用UIWebVeiw做的,但是突然想起来在iOS8中出了一个新的WKWebView,算是UIWebVeiw的升级版.本着对新事物的好奇,就上网查了一下,但是找了好多个都没说的多了详细,于是就问谷歌,找文档,看看使用方法,试用了一下,果然不错,记录下来,大家分享! WKWebView的特点: 性能高,稳定性好,占用的内存比较小, 支持JS交互 支持HTML5 新特性 可以添加进度条(然并卵,不好用,还是习惯第三方的). 支持内建手势, 据说高达60fps的刷

iOS开发之MVVM在项目中的应用

今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦~). 由于本人项目经验有限,关于架构设计方面的东西理解有限,我个人对MVVM的理解主要是借鉴于之前的用过的MVC的Web框架~在学校的时候用过ThinkPHP框架,和SSH框架,都是MVC的架构模式,今天MVVM与传统的MVC可谓是极为相似,也可以说是兄弟关系,也就是一家人了. 说到架构设计和团队

李洪强IOS开发之-iOS经典面试题

李洪强IOS开发之-iOS经典面试题 写这篇文章的目的是因为前两天同学想应聘iOS开发,从网上找了iOS面试题和答案让我帮忙看看.我扫了一眼,倒吸了一口冷气,仔细一看,气的发抖.整篇题目30多个没有一个答案是对的,总结这篇面试题的作者对iOS机制根本就是一知半解就敢发到网上,不管有心还是无心都是坑害新人.所以在这里总结一下这几年面试别人和被别人面试遇到的一些我认为比较好的基础题目分享给大家,进阶题目在后续补充.我的理解如果有错漏请一定指出,非常感谢! 从12年开始做面试官到现在已经三个年头了,这

ios开发之Swift标签栏按钮UITabBarItem样式修改(图标文字尺寸,颜色等)

UITabBarItem在开发中非常的常用了它可以用来设置字体颜色及图片的设置等等,下面我们来看一篇关于ios开发之Swift标签栏按钮UITabBarItem样式修改(图标文字尺寸,颜色等)的例子,具体的细节如下所示. 1,tabBarItem图片的推荐尺寸和最大支持尺寸 下面是标签栏(UITabBar)中tab按钮图标分别在1x.2x.3x下不会压缩变形的尺寸: @1x : 推荐 25 x 25   (最大: 48 x 32)@2x : 推荐 50 x 50   (最大: 96 x 64)@

iOS开发之Socket通信实战--Request请求数据包编码模块

实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncSocket来进行长连接连接和传输数据,该第三方地 址:https://github.com/robbiehanson/CocoaAsyncSocket,读者可以自行google或者baidu搜索 这个库的用法,网上有很多资料,而且用法不难. 在一些对Socket通信使用需求不是很高的应用中,比如需要

李洪强iOS开发之iOS社区收集

李洪强iOS开发之iOS社区收集 项目 简述 github 全球最大的代码仓库,无论是iOS开发还是Android开发没有人不知道这个网站,它也是一个社区,你可以去follow(关注)某些人或公司. cocoachina 号称全球最热的苹果开发社区,这里有很多关于iOS,mac开发的相关文章,值得收藏的中午社区 Swift 语言指南 这份指南汇集了Swift语言主流学习资源,并以开发者的视角整理编排,虽然看上去只是一篇博文,但是作者每周都在更新,从这个角度来说,我把它归类到社区中. swiftk

iOS 开发之 ZBarSDK 二维码扫描自定义二维码扫描页面(二)

iOS 开发之 ZBarSDK 二维码扫描自定义二维码扫描页面(二) 上一篇解决了ZBarSDK不支持64bit的问题,下面我们就可以使用ZBarSDK了. 导入ZBarSDk.h文件 附上代码: // //  MeViewController.m //  Auditory Blog // //  Created by 寒竹子 on 15/4/28. //  Copyright (c) 2015年 寒竹子. All rights reserved. // #define ScanWidth  2