要实现app的自动更新,做两件事情就可以搞定

1.获取当前手机中的app版本号

我们可以通过查询mainbundle中的获取CFBundleVersion

  NSDictionary *infoDict = [[NSBundlemainBundle] infoDictionary];NSString *cVersion = [infoDict objectForKey:@"CFBundleVersion"];

2.获取Appstore上的已发布的app版本号

这一步,有两种方案可供选择

a.在自己的服务器上存储最新版本号,自动检测更新的时候去取一下

b.通过访问Appstore的接口,获取已发布app的版本信息

请求链接为:http://itunes.apple.com/lookup?id=你的app应用id

例子:http://itunes.apple.com/lookup?id=532506118,获取的信息格式为json,所以我们可以很方便的对这些信息进行解析

{resultCount: 1,
results: [{
kind: "software",
features: [ ],
supportedDevices: [
"iPadFourthGen4G",
"iPad2Wifi",
"iPhone4S",
"iPadWifi",
"iPad23G",
"iPhone5",
"iPhone5s",
"iPadThirdGen",
"iPhone5c",
"iPodTouchFifthGen",
"iPadMini",
"iPadMini4G",
"iPadFourthGen",
"iPodTouchourthGen",
"iPhone-3GS",
"iPad3G",
"iPadThirdGen4G",
"iPodTouchThirdGen",
"iPhone4"
],
isGameCenterEnabled: false,
artistViewUrl: "https://itunes.apple.com/us/artist/mycode/id532506121?uo=4",
artworkUrl60: "http://a1558.phobos.apple.com/us/r30/Purple4/v4/32/92/8d/32928d1f-b731-8d53-0402-5f4db43ec15b/icon.png",
screenshotUrls: [
"http://a3.mzstatic.com/us/r30/Purple/v4/d2/dc/ea/d2dceaaa-1ec8-9d87-048f-c80e89188796/screen1136x1136.jpeg",
"http://a3.mzstatic.com/us/r30/Purple/v4/f8/58/73/f85873ed-62ae-30ad-97ba-d00340c29f3b/screen1136x1136.jpeg",
"http://a3.mzstatic.com/us/r30/Purple/v4/98/0e/f0/980ef032-4d1e-1575-44c0-06390d7e72c6/screen1136x1136.jpeg",
"http://a1.mzstatic.com/us/r30/Purple/v4/50/41/e9/5041e9e5-ac56-fdd6-1039-5b921d92592c/screen1136x1136.jpeg",
"http://a1.mzstatic.com/us/r30/Purple/v4/b2/b2/c9/b2b2c9d1-9cc4-c1ce-1d18-ae41ae11fcad/screen1136x1136.jpeg"
],
ipadScreenshotUrls: [ ],
artworkUrl512: "http://a965.phobos.apple.com/us/r30/Purple/v4/60/59/36/60593661-0c5b-2398-4747-c2d7fd7e6618/mzl.tgrbhckz.png",
artistId: 532506121,
artistName: "mycode",
price: 0,
version: "5.62",
description: "食神摇摇长期稳居美食排行第一名,获得无数美食媒体和吃货的好评,是年轻人找美食的不二之选。去哪吃?吃什么?只需摇摇,独创的个性化推荐帮你搞定! 七大看点 1、最简单!轻轻摇摇,就可找到好吃的餐厅! 2、最直接!不需要上翻下翻四处搜点评,食神的推荐理由帮你迅速决定去哪吃,吃什么! 3、最时尚!在华丽眩酷的界面中发现美食也是一种潮,更适合不甘淹没于大众的你! 4、最贴心!无论是旅行中找当地特色美食,还是等飞机时找快餐,食神摇摇都能为你贴心考虑合适的餐厅! 5、最馋人!独特的“按菜品找餐厅”的功能,无论想吃红烧肉还是驴打滚, 只要选个菜品就知道哪里最好吃! 6、最好玩!食神摇摇将微博、QQ等餐厅的美图统统整合进来,不仅可以分享美食发现,更可看看吃货们都喜欢吃什么! 7、最实用!食神摇摇已经和超过10家预定、外卖、优惠券合作,直接在食神摇摇中即可享受这些服务! 还在纠结去哪吃?吃什么?摇摇你的手机, 食神出马来帮你找到最合适的餐厅! 食神摇摇独创的场景式推荐,在旅行时知道为你推荐当地特色,在周末时为你推荐美食大餐,在节假日时为你推荐聚会宴请的好地方,在早餐、工作餐、夜宵时间,食神也会为你量身定制发现美食。 如果你觉得还不过瘾,不论你是想吃川菜, 湘菜, 江浙菜, 粤菜, 北京菜, 火锅, 西餐, 鲁菜, 家常菜, 东北菜, 日本料理, 韩国料理, 江西菜, 清真菜, 西北菜, 云南菜, 贵州菜, 素菜, 海鲜, 湖北菜, 东南亚菜, 快餐, 上海菜, 闽菜, 小吃, 烧烤, 农家菜, 咖啡, 甜点, 客家菜, 泰国菜, 河南菜, 淮扬菜, 新疆菜, 台湾菜, 天津菜;还是只是想找个面馆或者茶餐厅或者咖啡馆或者外卖预定或者24小时营业小馆,食神摇摇都可以帮你搞定!, 你做为出色的吃货,打算吃遍本地特色,尝试所有本地的特色餐厅以及推荐菜品,食神摇摇也一定能够满足你! 功能: 1、摇一摇,根据你的喜好及口味等,自动推荐最合适的餐厅; 2、和好友“组饭局”; 3、强大的当地特色菜推荐,旅行找美食神器; 4、轻松“发现”周边美食图片,周边优惠,周边团购; 5、和好友分享餐厅和图片,最酷的是,可以向你的好友炫耀你遍及各地的吃货足迹; 6、收藏的餐厅有优惠券和团购,第一时间通知你; 联系我们: 新浪微博 @食神摇摇 腾讯微博 @食神摇摇 百度搜索 食神摇摇 食神吃货QQ群 766009 要求: iOS4或者以上版本。",
currency: "USD",
genres: [
"Travel",
"Food & Drink"
],
genreIds: [
"6003",
"6023"
],
releaseDate: "2012-09-07T02:36:46Z",
sellerName: "韦清 王",
bundleId: "com.wwq.eat",
trackId: 532506118,
trackName: "食神摇摇-美食神器",
primaryGenreName: "Travel",
primaryGenreId: 6003,
releaseNotes: "1. support iOS7; 2. bug fix.",
formattedPrice: "Free",
wrapperType: "software",
trackCensoredName: "食神摇摇-美食神器",
trackViewUrl: "https://itunes.apple.com/us/app/shi-shen-yao-yao-mei-shi-shen-qi/id532506118?mt=8&uo=4",
contentAdvisoryRating: "4+",
artworkUrl100: "http://a965.phobos.apple.com/us/r30/Purple/v4/60/59/36/60593661-0c5b-2398-4747-c2d7fd7e6618/mzl.tgrbhckz.png",
languageCodesISO2A: [
"ZH"
],
fileSizeBytes: "13482983",
sellerUrl: "http://www.lehe.com",
trackContentRating: "4+"
}
]
}

解析代码如下:

NSDictionary *jsonData = [responseStr JSONValue];NSArray *resultArray = [jsonData objectForKey:@"results"];NSDictionary *infoDic = [resultArray objectAtIndex:0];NSString *version = [infoDic objectForKey:@"version"]; // 最新版本号

NSString *trackViewUrl = [infoDic objectForKey:@"trackViewUrl"]; // 下载地址

最后我们把获取的最新版本号与本机中的app版本号进行对比,如果需要更新的话,可以通过openURL方法进行更新

参考文档地址:http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html

转载于:https://www.cnblogs.com/polodede/p/3713247.html

如何实现已发布app的自动更新相关推荐

  1. android 系统(143)---Android实现App版本自动更新

    Android实现App版本自动更新 现在很多的App中都会有一个检查版本的功能.例如斗鱼TV App的设置界面下: 当我们点击检查更新的时候,就会向服务器发起版本检测的请求.一般的处理方式是:服务器 ...

  2. winform发布(应用程序自动更新)、不允许跳过升级

    今天给大家分享一下winform利用visual studio进行发布程序进行自动更新,在日常开发工作中当程序新增功能之后我们需要对程序进行升级,那么怎么让程序自动检测自动升级呢,下边一块学习一下. ...

  3. uniapp打包安卓APP实现自动更新(更新app)

    先列出需要注意的地方,避免新手朋友们出错 如果uniapp运行app报错:ReferenceError: plus is not defined ,普通浏览器里没有plus环境,只有HBuilder真 ...

  4. [iOS]如何向 appstore 查询已发布 APP 的信息?

    如果我们需要实现版本的 app 自动更新,那么我们需要获取当前运行程序的版本信息和 appstore 里发布的最新版本信息. 当前运行程序的版本信息,可以在 mainBundle 里面获取: NSDi ...

  5. iOS APP版本自动更新

    1.版本自动更新一般采用API对应的方式 获取当前App Store上版本号 于本地存储的版本号对比 2.由服务端返回版本控制升级(容易审核不通过) 参考地址(很详细) https://blog.cs ...

  6. HBuilderX开发app实现自动更新版本

      需求说明:使用MUI+Vue等技术并且通过HBuilderX打包开发移动app,在有版本更新时需要自动提示用户有新版本,并且可以点击下载自动安装. 思路说明: 应用打开时(使用Vue的生命周期mo ...

  7. Project Anarchy 2013.2 已发布,包含重大更新!

    向大家宣布一个激动人心的好消息,Project Anarchy v2013.2 发布了! 本次发布包含大量新的功能和改善,例如 Autodesk® Scaleform® 和 Lua 绑定扩展.大大提升 ...

  8. Android APP在线自动更新安装

    一.Android App的在线更新,主要分为热更新和一般更新,热更新是指下载修改的部分即可,一般更新是将整个安装包下载下来进行安装.本文主要探讨一般更新方法. 流程:(1)调用接口获取服务器内的AP ...

  9. hbuilderx版本怎么更新到新版本_HBuilderX开发app实现自动更新版本

    需求说明:使用MUI+Vue等技术并且通过HBuilderX打包开发移动app,在有版本更新时需要自动提示用户有新版本,并且可以点击下载自动安装. 思路说明: 应用打开时(使用Vue的生命周期moun ...

最新文章

  1. Python 进阶_OOP 面向对象编程_类和继承
  2. Linux信号 四 异步等待信号与同步等待信号接口
  3. 简述css属性选择器的几种定义方式_CSS 属性选择器详解
  4. Spring源代码学习之where is Bean instance created
  5. memento模式_Java中的Memento设计模式-示例教程
  6. 软件工程概论课堂作业3
  7. docker容器配置加速器
  8. 安卓逆向 | 某新闻类APP urlSign
  9. 网易有道最新力作 有道词典笔3 结构拆解
  10. win7下获取进程CPU,内存,IO等信息
  11. Amazing!在线浏览 Stata Journal 单篇论文 (2001-2019)
  12. 合成大西瓜魔改和上线,最全教程!
  13. 基于SVM算法的人脸微笑识别
  14. #榜样的力量#工业富联富集云防疫 App丨数据猿新冠战“疫”公益策划
  15. 测试流程如何有效落地?
  16. Linux Shred命令
  17. C语言——Hello World
  18. asp.net实现视频在线播放
  19. 熟练的计算机应用技巧,计算机应用软件的学习方法探析
  20. 新来的23岁Java开发上来秀了波操作,真是扮猪吃老虎

热门文章

  1. 日均20亿流量:携程机票查询系统的架构升级
  2. CSS透明效果的实现的三种方式
  3. C#初探-抽学号软件
  4. Python+Tushare,自制A股筛选器
  5. 做了个 web 的键盘测试工具,MagicKeyboard2
  6. 【系统集成项目管理刷题专题】第12章—项目沟通管理和干系人管理
  7. QT使用msvc编译器
  8. 【攻略】前端突击队 - 腾讯CodeStar代码星计划第二季
  9. java循环语句有哪三类_java中的循环语句有哪些
  10. 高斯混合模型(GMM)及其EM算法的理解