一般App在设备上启动后都会有做版本检测以确认本版本是否是最新版本的App,以便提示用户更新到最新版本。

当然可以在公司的的服务器做接口查询,这是一个比较笨的办法,但鉴于iOS App的上架App特性,我们希望检测到当前设备安装的版本与

App Store上的版本比较,具体操作如下:

 

1. 如何从App Store上获取指定App的信息?

    这里可以通过Apple公司提供的REST接口进行查询,其接口如下:

    http://itunes.apple.com/lookup?id=appid

    参数appid指的是你在app在创建后的唯一标识,在iTunes Connect里可以查找到此信息。

   此接口将返回一个JSON格式的字串内容,其中一个就是版本信息,如下:

     "version":"1.6.0"

  另一个重要的信息就是下载此版本App的下载页面:

  "trackViewUrl":"https://itunes.apple.com/us/app/zhang-shang-bao/id...?mt=.&uo=..."


2. 在获取App Store上App版本后, 接下来就是获取当前设备运行的App的最新版本:

     [[NSBundlemainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];

 

3. 在比较完线上版本与本地版本后,如果发现线上(App)版本更高的话,则提示用户跳转到下载页面,如下的代码:

  [[UIApplication sharedApplication] openURL:trackViewUrl];

 

就此完成,OK!

 

posted on 2013-03-20 21:58  BankFish  阅读(7062)  评论(6编辑  收藏  举报