14年苹果官方要求所有的应用里不能出现“当前版本”,‘’‘当前版本号’等,因为在ios8.0以后,苹果提供了可以在WiFi下,后台自动更新。但对于一些没有打开此权限的用户,需要在应用中给予提示。
目前我整理的方法有两个:
一.在与服务器约定协议。比如后台录入上线版本的版本号。前端拿到当前版本号,于后台的做对比,不一致就弹出提示,提示用户有新的版本要更新。
二.检测手机上安装的APP的版本,然后跟AppStore上app的版本信息联合来判断。
当前运行版本信息可以通过info.plist文件中的bundle version中获取
NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
NSString *currentVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];
然后,请求APP的相关数据
https://itunes.apple.com/lookup?id=XXX (其中XXX是你的app的商店 ID)
,你获取到数据是json数据。然后进行解析。
{trackCensoredName = 审查名称;trackContentRating = 评级;trackId = 应用程序 ID;trackName = 应用程序名称;trackViewUrl = 应用程序介绍网址;userRatingCount = 用户评级;userRatingCountForCurrentVersion = 1;version = 版本号}。
你可以在页面有个跳转到商店更新APP的接口的按钮,给予用户!
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:trackViewUrl]];