美文网首页iOS 进阶文集iOS学习iOS程序猿
iOS 检查更新升级版 版本信息类(swift)的

iOS 检查更新升级版 版本信息类(swift)的

作者: super_chao | 来源:发表于2016-11-23 17:52 被阅读764次

我们这里描述的不是svn 或者是git 的使用
本地建立一个版本管理类对于版本的更新和版本相关内容的使用会变的很方便。也是 我们代码大神话的必要之路 。
当然现在商店版的项目不需要做检查更新等功能(appstore有新版本会提示),有些项目还是会有版本更新功能的
废话不多说直接上代码。

<pre>
import UIKit
class VersionX: NSObject {
static let current = VersionX()
//软件下载地址
var appurl = ""
//当前版本
var versionX = ""
//是否强制升级 //1强制升级 2不强制 3无需升级
var isforce = ""
var isAppstore = false //true 是生产环境 false 测试版/企业版
func save(){
NSUserDefaults.standardUserDefaults().setValue(appurl, forKey: "APPURL")
NSUserDefaults.standardUserDefaults().setValue(version, forKey: "VERSION")
NSUserDefaults.standardUserDefaults().setValue(isforce, forKey: "FORCE")
NSUserDefaults.standardUserDefaults().setValue(isforce, forKey: "AppSTROE")
}

static func getCurrent() -> VersionX{
    if let value = NSUserDefaults.standardUserDefaults().stringForKey("APPURL") {
        current.appurl = value
    }else{
        current.appurl = ""
    }
    
    
    if let value = NSUserDefaults.standardUserDefaults().stringForKey("VERSION") {
        current.versionX = value
    }else{
        current.versionX = "0.0.1"
    }
  
    if let value = NSUserDefaults.standardUserDefaults().stringForKey("FORCE") {
        current.isforce = value
    }else{
        current.isforce = ""
    }
    
    current.isAppstore =   NSUserDefaults.standardUserDefaults().boolForKey("AppSTROE")

    return current
}

}
</pre>

该类的使用就简单来。企业版项目要求从服务器对比版本提示更新
<pre>
func goversion(){

    //检查版本更新
    if VersionX.current.isAppstore == false{
    NSUserDefaults.standardUserDefaults().setBool(true, forKey: "SETINGUPFATE")
    let  appdelegate = UIApplication.sharedApplication().delegate as! AppDelegate
     appdelegate.upDataVisions()
    }

}

</pre>

代理中的代码
<pre>
func upDataVisions(){
// 2 ios 1 andorid
//现在的版本号
var newVer = VersionX.current.versionX as String
if newVer == ""{
let newVer = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String

    }
    let   URL =  Const.URL_UPDATA + "?appver=" + newVer + "&osType=2"
    
    Http.manager().GET(URL , parameters : nil,
        success: { (req:AFHTTPRequestOperation!, ret:AnyObject!) -> Void in
            
                let tmpdata = ret["data"] as! [String : AnyObject]
                
                if let value = tmpdata["apkurl"] as? String {
                     VersionX.current.appurl = value
                }
            
               if let value = tmpdata["isforce"] as? String {
                   VersionX.current.isforce = value
                }

       let FORCE = String (tmpdata["isforce"] as! NSNumber)
            //1强制升级  0不强制   3无需升级
           if (FORCE == "1") {
            if let value = tmpdata["ver"]  {
               //对比版本是否需要升级
                let  value = value.stringByReplacingOccurrencesOfString(".", withString: "")
                let  newVer = newVer.stringByReplacingOccurrencesOfString(".", withString: "")
                if  Int(newVer)   < Int(value) {
                    let alert = UIAlertView(title: "提示", message: "有新的版本可以升级现在,是否立刻升级?", delegate: self, cancelButtonTitle: nil, otherButtonTitles: "是")
                    alert.tag = 300
                    alert.show()
                }  else  {
                   let alert = UIAlertView(title: "提示", message: "已是最新版本", delegate: nil, cancelButtonTitle:nil, otherButtonTitles: "是")
                   alert.show()
                }
            }
            if let value = tmpdata["ver"] as? String {
                VersionX.current.versionX = value
            }
            }else if (FORCE == "0"){
            
                if let value = tmpdata["ver"] {
                    
                    //对比版本是否需要升级
                    let  value = value.stringByReplacingOccurrencesOfString(".", withString: "")
                    
                   let  newVer = newVer.stringByReplacingOccurrencesOfString(".", withString: "")
                    
                    if  Int(newVer)   < Int(value) {
                    
                        let alert = UIAlertView(title: "提示", message: "有新的版本可以升级现在,是否立刻升级?", delegate: self, cancelButtonTitle: "否", otherButtonTitles: "是")
                        alert.tag = 200
                        alert.show()
                       
                   }  else  {
                      let alert = UIAlertView(title: "提示", message: "已是最新版本", delegate: nil, cancelButtonTitle:nil, otherButtonTitles: "是")
                        alert.show()
                   }
                }
                if let value = tmpdata["ver"] as? String {
                    VersionX.current.versionX = value
                }
            }else {
               let tempversion = NSUserDefaults.standardUserDefaults().boolForKey("SETINGUPFATE")
               if  tempversion == true {
                NSUserDefaults.standardUserDefaults().setBool(false, forKey: "SETINGUPFATE")
                let alert = UIAlertView(title: "提示", message: "已是最新版本", delegate: nil, cancelButtonTitle:nil, otherButtonTitles: "是")
                alert.show()
               }
            }
            //保存信息
            let   ver = VersionX()
            ver.appurl = tmpdata["apkurl"] as! String
            ver.versionX = tmpdata["ver"] as! String
            ver.isforce = String(tmpdata["isforce"] as! NSNumber)
            ver.save()         
}, failure: { (req:AFHTTPRequestOperation!, err:NSError!) -> Void in
            Toast.show("获取信息失败", ti: 1)
    })
}

</pre>

我们项目时企业版可以跳到safri去更新。如果是商店版时隐藏更新。
<pre>
//检查更新功能是否需要隐藏
if VersionX.current.isAppstore == false{
upDataVisions()
}
</pre>

相关文章

  • iOS 检查更新升级版 版本信息类(swift)的

    我们这里描述的不是svn 或者是git 的使用本地建立一个版本管理类对于版本的更新和版本相关内容的使用会变的很方...

  • 归档archive

    更新swift版本 加载 保存 自定义对象的归档,使用iOS11的API 自定义类Book,遵守NSSecureC...

  • iOS 检查App版本更新

    可以通过 iTunes 接口检查 App 版本更新,接口为: 请求返回数很多,其中重要信息如下: 然后通过当前Ap...

  • iOS 版本检查更新(iVersion)

    iVersion的使用 在这里介绍一个版本检查更新三方库的使用,在github上已经1.9K星了,使用也是非常的简...

  • iOS APP检查版本更新

    iOS程序自动提示更新的实现方案大致分为两种:第一种,自己服务器提供一个接口,告知相关app的当前版本,是否需要更...

  • iOS APP检查版本更新

    在开发中,我们可能会遇到这样的需求,当AppStore中有新版本需要更新迭代,用户在点开APP的时候弹出提示框提醒...

  • iOS 检查App版本更新

  • iOS-OC版本更新/检查更新

    自己挖的坑自己要填上...iOS是只能自动提醒更新,界面上不能有按钮提供给用户手动更新的,自己失误在设置里面的版本...

  • iOS 设备机型判断Swift和OC版本

    Swift版本 OC版本 持续更新。。。

  • 苹果审核被拒原因

    1.应用内包含检查更新内容 iOS 应用的版本更新必须通过 App Store 进行,自身 App 内不能包含提示...

网友评论

    本文标题:iOS 检查更新升级版 版本信息类(swift)的

    本文链接:https://www.haomeiwen.com/subject/lquvpttx.html