app更新的流程思想
得到当前版本currentVersion,将currentVersion与近期的版本latestVersion进行比較,若当前currentVersion较小。进行更新操作。
获取当前app的版本:
NSString *currentVersion = [[[NSBundle
mainBundle] infoDictionary]
objectForKey:@"CFBundleShortVersionString"];
以下的分两种情况
1 更新提交AppStore中的App(不支持强制更新)
运用以下的链接发起一个post请求。获取AppStore中最新版本号的具体信息(app的作者,连接,版本号等)。
id=" target="_blank" style="text-decoration:none; line-height:25px">http://itunes.apple.com/lookup?id=
返回的JSon格式的数据,数据的格式能够參照苹果官方API中的Lookup
Examples
将返回的JSon格式的数据通过http://www.bejson.com/jsonviewernew/站点进行解析
解析出来是一个NSDictionary。找到version相应的值,就是最新的版本(然后你知道该怎么做了了吧!!
!)
比較之后假设要更新,那么就通过下面方式打开AppStore中该应用应用程序的链接。用户就能够更新啦。
[[UIApplication
sharedApplication] openURL:[NSURL
URLWithString:appUrlString]];
appUrlString是多少呢?非常easy。就在刚才解析出来的NSDictionary中,相应的key是trackViewUrl
。
2 更新企业级的App(支持强制更新)
这个更新就比較任意了,由于后台什么都是自己写的。
所谓我的地盘我做主。这里能够强制更新。
主要有两个接口:检查更新的接口,更新接口。
步骤跟更新更新提交到AppStore中的App一样。仅仅只是接口是自己写的。然后你就任意吧。。。
iOS 怎样更新APP的更多相关文章
-
iOS App Store上架新APP与更新APP版本
iOS App Store上架新APP与更新APP版本 http://www.jianshu.com/p/9e8d1edca148
-
【原创】我所理解的自动更新-APP发布与后台发布
发布后台 创建渠道:添加新的渠道,设置渠道名称,自动生成渠道id. 查看渠道:查看渠道基本信息,渠道app版本号,资源版本号,是否开启更新. 创建/更新APP:选择打包ios,androi ...
-
iOS版本更新的App提交审核流程
App的版本更新估计是在所难免的了!更新App和新的App发布有何不同了?今天我们一起来看看吧!在发布App的时候我们需要通过开发者帐号——(申请)——>发布证书(需要钥匙串对证书签名也叫加密( ...
-
iOS自动更新如何实现
APP检测更新可以使用两种方法.第一种是和安卓等系统一样,获取自己服务器的APP版本号与已安装的APP版本号比较:第二种是根据已发布到app store上的应用版本号与已安装的APP版本号比较更新.第 ...
-
iOS高仿app源码:纯代码打造高仿优质《内涵段子》
iOS高仿app源码:纯代码打造高仿优质<内涵段子>收藏下来 字数1950 阅读4999 评论173 喜欢133 Github 地址 https://github.com/Charlesy ...
-
iOS UIKit:App
1.App生命周期 IOS架构是由许多设计模式实现,如model-view-controller 和 delegation模式. 1.1 main函数 与其它框架类似,IOS框架的入口也是从main函 ...
-
iOS --- [持续更新中] iOS移动开发中的优质资源
在我们做iOS APP的开发过程中, 须要非常多设计, 产品, 技术, 运营等方面的技巧和资源. 现将其整理汇总, 本文会一直持续更新. 敬请关注. 设计 Dribbble Dribbble是一个面向 ...
-
【HELLO WAKA】WAKA iOS客户端 之一 APP分析篇
由于后续篇幅比较大,所以调整了内容结构. 全系列 [HELLO WAKA]WAKA iOS客户端 之一 APP分析篇 [HELLO WAKA]WAKA iOS客户端 之二 架构设计与实现篇 [HELL ...
-
JSPatch动态更新APP
JSPatch,只需在项目中引入极小的引擎,就可以使用JavaScript调用任何Objective-C的原生接口,获得脚本语言的能力:动态更新APP,替换项目原生代码修复bug. 用途 是否有过这样 ...
随机推荐
-
linux yum下载RPM包后再安装LAMP环境
1.下载yum插件 yum-downloadonly,实现只下载软件包的功能. yum install yum-downloadonly 或者 yum install yum install yum- ...
-
mysql数据库delete数据时不支持表别名
今天在帮同事查看一条删除的SQL语句执行出错的问题 SQL语句如下: 1 DELETE FROM LEAD_SYSTEM_MENU_ORG_REF as t WHERE t.resourceid='4 ...
-
hihoCoder-1000-A+B
题目描述:传统的A+B题 使用语言:C 代码: #include <stdio.h> int main(void){ int a,b; while((scanf("%d %d&q ...
-
redmine一键安装包下载链接
windows版本一键安装包:<bitnami-redmine-3.1.1-1-windows-installer.exe> 下载地址:http://pan.baidu.com/s/19D ...
-
error “base class has incomplete type”
error "base class has incomplete type" 如果base.h是你的基类,那么在子类derive中,写成如下形式: class base; clas ...
-
vue打包
npm installnpm run devnpm run build @types/node npm install --save @types/node npm install @types/no ...
-
[BZOJ2125]最短路[圆方树]
题意 给定仙人掌,多次询问两点之间的最短路径. \(n\le 10000, Q\le 10000\) 分析 建出圆方树,分路径 lca 是圆点还是方点讨论. 预处理出根圆点到每个圆点的最短距离 \( ...
-
&#39;react-scripts&#39; is not recognized as an internal or external command
React项目在执行npm start的时候报下面的错误: 解决办法:把项目目录中node_modules文件夹删掉,重新npm install一下,然后再执行npm start
-
Django学习经验
1.在1.9——>到2.0的版本中, Django.core.urlresolvers import reverse ——>django.urls 2.当无法访问时把原来的数据清空: 首先 ...
-
地形系统lod
参考其他引擎,地形有近到远进行越来越深的lod,基本完成 下面是u3d的,觉得原理应该是一样的