要实现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方法进行更新