要实现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: ,
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: ,
artistName: "mycode",
price: ,
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: [
"",
""
],
releaseDate: "2012-09-07T02:36:46Z",
sellerName: "韦清 王",
bundleId: "com.wwq.eat",
trackId: ,
trackName: "食神摇摇-美食神器",
primaryGenreName: "Travel",
primaryGenreId: ,
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: "",
sellerUrl: "http://www.lehe.com",
trackContentRating: "4+"
}
]
}

解析代码如下:

NSDictionary *jsonData = [responseStr JSONValue];

NSArray *resultArray = [jsonData objectForKey:@"results"];

NSDictionary *infoDic = [resultArray objectAtIndex:];

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

最新文章

  1. Git 常用操作和问题解决
  2. hibernate模糊查询
  3. Android APP使用NDK编译后的ffmpeg库出现undefined reference to 'posix_memalign'错误
  4. Vagrant的一个BUG - 不支持'change_host_name'
  5. 第二十篇:在SOUI中使用分层窗口
  6. 简明python教程 --C++程序员的视角(二):函数及作用域
  7. MySQL常用SQL语句
  8. CRT注册工具使用说明
  9. phalcon: acl权限控制
  10. sysobjects.xtype介绍
  11. readint writeint
  12. IOS开发UIImage中stretchableImageWithLeftCapWidth方法的解释
  13. POJ 2075 Tangled in Cables (c++/java)
  14. 第二篇:基于K-近邻分类算法的约会对象智能匹配系统
  15. SQL Server Schema
  16. Android之单击返回键两次退出
  17. Asp.Net MVC2.0 Url 路由入门---实例篇
  18. 数组拆分I
  19. 常量,变量,a++,++a,+=等
  20. 背水一战 Windows 10 (47) - 控件(ScrollViewer 特性): Chaining, Rail, Inertia, Snap, Zoom

热门文章

  1. NOIP2018崩崩记
  2. tinyint(1)遇到的坑
  3. day26 作业
  4. ionic view 视图
  5. webpack4.0打包的时候一些技巧
  6. 进一步封装poco下的mysql操作
  7. GUID 使用方法
  8. Hadoop 单机安装配置
  9. 专访阿里云资深技术专家黄省江:中国SaaS公司的成功之路
  10. 2018-2019年中国CDN市场发展报告:阿里云成为中国CDN市场的领军者