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