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]];
appUrlString是多少呢?非常easy。就在刚才解析出来的NSDictionary中,相应的key是trackViewUrl 。
2 更新企业级的App(支持强制更新)
这个更新就比較任意了,由于后台什么都是自己写的。
所谓我的地盘我做主。这里能够强制更新。
主要有两个接口:检查更新的接口,更新接口。
步骤跟更新更新提交到AppStore中的App一样。仅仅只是接口是自己写的。然后你就任意吧。。。