前言:原先我们企业app强制更新的流程是在applicationWillEnterForeground该方法中调用接口,那么每次唤醒app都会检查一遍。然后点击下载会进入我们的自己的下载页面,奈何奈何呀,这个下载页面拿的地址一直是上个版本的url。一直有缓存,自己加上了时间戳,貌似也不管用。那么只能拿更新接口的url直接去更新,打算这样修改。
但是在测试的过程中发现了一个问题,就是在app中去更新下载,系统还会弹出一个对话框,问用户是否更新下载,若是用户取消的话,意味着用户依旧可以使用低版本,但是我们是希望用户使用最新版本,因为不仅客户端修改了,服务端也修改了相关代码,若是一直使用低版本会有意想不到的问题。
像这样的弹框是系统弹出的,我们又没法监听。原来我们是进入一个下载页面,即使用户取消安装,那么用户想要使用app,就会立即检查更新,迫使用户去下载最新版本。但是直接更新的话就会有这个问题,那么怎么解决呢?
我们在自己写的弹框中,已经获得了更新的url。然后我们直接去
[[UIApplication sharedApplication ] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@",BaseDownloadUrl,url]]];
exit(0);//划重点!
注意这个exit(0),就是立即退出我们的app,这样即使用户点击了取消按钮,点击app进入,还是会再次检查更新,这样用户使用的就是最新版本的app了。