Swift 专栏

swift微博第15天(新版的判断以及跟控制器的切换)

2017-12-03  本文已影响31人  IIronMan
新版的判断以及跟控制器的切换图
 // MARK: 新版的判断
    
    func isNewUpdateVersion() -> Bool {
    
    // 1.获取当前app的版本号,从info.plist里面拿到
    let currentVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String
    print("当前的版本号=\(currentVersion)")
    // 2.获取以前的版本号  ?? 代表的意思是: 前面的值如果为nil - 就取后面的值 这里再说明一下,nil 和 字符串空是完全不一样的概念
    let sandBoxVersion = UserDefaults.standard.object(forKey: "CFBundleShortVersionString") ?? ""
    print("之前的版本号=\(sandBoxVersion)")
    // 3.比较当前的版本号和以前的版本号
    // 3.1.如果当前的版本号大于以前的版本号 就代表有新的版本
    // 2.0  -  1.0
    /*
     *  orderedDescending 降序
     *  orderedAscending  升序
     *  orderedSame       相同
     */
    if currentVersion.compare(sandBoxVersion as! String) == ComparisonResult.orderedDescending{
        
        // 有新的版本就存下新的版本号作为下一次的对比
        // iOS7 之后就不用调用同步的方法了
        UserDefaults.standard.setValue(currentVersion, forKey: "CFBundleShortVersionString")
        // 降序
        print("有版本号更新")
        return true
    }
    
    // 没有版号更新
    return false   
 }
上一篇 下一篇

猜你喜欢

热点阅读