app更新的流程思想
得到当前版本号currentVersion,将currentVersion与最近的版本号latestVersion进行比较,若当前currentVersion较小,进行更新操作。
获取当前app的版本号:
NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"];
下面的分两种情况
1 更新提交AppStore中的App(不支持强制更新)
运用下面的链接发起一个post请求,获取AppStore中最新版本的详细信息(app的作者,连接,版本等)。
http://itunes.apple.com/lookup?id=应用程序的ID(应用程序ID是在apple上填写发布程序时生成的)
返回的JSon格式的数据,数据的格式可以参照苹果官方API中的Lookup Examples
将返回的JSon格式的数据通过http://www.bejson.com/jsonviewernew/网站进行解析
解析出来是一个NSDictionary,找到version对应的值,就是最新的版本号(然后你知道该怎么做了了吧!!!)
比较之后如果要更新,那么就通过以下方式打开AppStore中该应用应用程序的链接,用户就可以更新啦!
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:appUrlString]];
app UrlString是多少呢?很简单,就在刚才解析出来的NSDictionary中,对应的key是 trackViewUrl 。
2 更新企业级的App(支持强制更新)
这个更新就比较随意了,因为后台什么都是自己写的。所谓我的地盘我做主,这里可以强制更新。
主要有两个接口:检查更新的接口,更新接口。
步骤跟更新更新提交到AppStore中的App一样,只不过接口是自己写的,然后你就随意吧。。。