Swift开发-提示版本更新

由于iOS审核的要求,不能出现有关”版本更新”的字眼,一旦出现就会被拒,这样就悲剧了。但是不是说这个功能我们就不能做了,可以让后台写一个接口,根据后台返回的一个值作为条件判断,在审核期间,不执行检查版本,不提示用户更新;审核通过后让后台返回的值改变检查版本,如果有新版本提示用户到appstore下载更新。以下是实现代码:

    //MARK:-版本更新
    func updateVersion() {
        let queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
        dispatch_async(queue, { () -> Void in
            var versionStr = ""
            do {
                versionStr = try String.init(contentsOfURL: NSURL(string: RequestURL.UPDATE_VERSION)!, encoding: NSUTF8StringEncoding)
            } catch let error as NSError{
                print(error)
            }
            let versionData = versionStr.dataUsingEncoding(NSUTF8StringEncoding)
            var versionDict = NSDictionary()
            do {
                versionDict = try NSJSONSerialization.JSONObjectWithData(versionData!, options: NSJSONReadingOptions.MutableContainers) as! NSDictionary
            } catch let error as NSError {
                print(error)
            }
            if versionDict.allKeys.count == 0{
                return
            }
          let versionArr = versionDict.objectForKey("results") as! NSArray    
 let dict = versionArr[0] as! NSDictionary      
 let version = dict.objectForKey("version") as! String 
 //获得当前app版本号     
 let currentVersion = SystemUtils.getAppVersion()
     dispatch_async(dispatch_get_main_queue(), {
      if version != currentVersion{   
      //版本号不相等,提示更新,执行更新方法   self.checkUpdateVersionAlert(version)

                }
            })
        })
    }
    //信息提示
    func checkUpdateVersionAlert(version:String){

        let message = "克穷司机V" + version + "版本发布了,赶快更新吧~"
        let optionMenu = UIAlertController(title: "有新版本啦", message: message, preferredStyle: .Alert)
        let callActionHandler = { (action:UIAlertAction!) -> Void in
        SystemUtils.evaluateApp()//跳转到appstore(这是自己封装的方法)
        }
        let callAction = UIAlertAction(title: "现在升级", style: .Default, handler: callActionHandler)
        optionMenu.addAction(callAction)
        let cancelAction = UIAlertAction(title: "取消", style: .Cancel, handler: nil)
        optionMenu.addAction(cancelAction)
        self.presentViewController(optionMenu, animated: true, completion: nil)
    }

以上是实现的核心代码,这里就不放最终效果图了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值