一般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!