专业java、php、iOS、C++、网页设计、平面设计、网络营销、游戏开发、前端与移动开发培训机构

检查新版本

  • 当本次启动的版本号比上次退出时的版本号大,我们就认为当前这个版本是新版本

步骤

  • 1.获取应用程序当前版本
    // 1.获取应用程序当前版本
    let currentVersion = NSBundle.mainBundle().infoDictionary!["CFBundleShortVersionString"] as! String
    
  • 2.获取应用程序之前的版本
    // 2.获取应用程序之前的版本
    let sandboxVersionKey = "sandboxVersionKey" // 保存到沙盒的key
    let sandboxVersion = NSUserDefaults.standardUserDefaults().stringForKey(sandboxVersionKey)
    
  • 3.判断是否是新版
    let newVersion = currentVersion != sandboxVersion
    
  • 4.是新版本,将当前版本保存
    // 4. 是新版本,将当前版本保存
    if newVersion {
      NSUserDefaults.standardUserDefaults().setObject(currentVersion, forKey: sandboxVersionKey)
      NSUserDefaults.standardUserDefaults().synchronize()
    }
    
  • 5.返回比较结果
    // 5. 返回
    return newVersion
    
  • 最终代码

    /// 判断是否是新版本
    private func isNewVersion() -> Bool {
      // 获取程序当前的版本
      let currentVersion = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String
    
      // 获取上次运行的版本
      let key = "lastVersion"
      let lastVersion = UserDefaults.standard.string(forKey: key)
    
      let isNewVersion = currentVersion != lastVersion
      // 比较
      if isNewVersion {
          // 新版本
          // 保存新版本
          UserDefaults.standard.set(currentVersion, forKey: key)
          UserDefaults.standard.synchronize()
      }
    
      // 返回
      return isNewVersion
    }
    

results matching ""

    No results matching ""