zoukankan      html  css  js  c++  java
  • iOS是否审核需要关闭一些操作

    1.先获取最新版本号和本地版本号进行对比

    2.去掉本地版本号上的 . 处理为Int类型

    /// 获取是否需要审核时动态展示内容

    /// true:审核通过

    /// - Returns: 返回是否审核通过内容

    func IsActive() -> Bool {

        if let newVersion = YPIndexConfigModel.shared?.appVersionInfo {

            if let infoDic = Bundle.main.infoDictionary {

                let currentVersion: String = infoDic["CFBundleShortVersionString"] as! String

                var currentVersionInt = 0

                let currentArray = currentVersion.components(separatedBy: ".")

                if currentArray.count == 3 {

                    currentVersionInt = Int(currentArray[0])! * 100 + Int(currentArray[1])! * 10 + Int(currentArray[2])!

                }

                

                var newVersionInt = 0

                if let newArray = newVersion.version?.components(separatedBy: ".") {

                    if newArray.count == 3 {

                        newVersionInt = Int(newArray[0])! * 100 + Int(newArray[1])! * 10 + Int(newArray[2])!

                    }

                }

                

                if newVersionInt > currentVersionInt {

                    return true

                } else {

                    if newVersion.active == "0" {

                        return false

                    } else {

                        return true

                    }

                }

            }

        }else{

            if let info = Bundle.main.infoDictionary,

               let date = info["AppYupaoReleaseTime"] as? Date,

               let length = info["AppYupaoReleaseExamineTime"] as? NSNumber{

                //当前时间

                let current = Date.init().timeIntervalSince1970

                //进入审核的时间

                let releaseTime = date.timeIntervalSince1970

                //预计的审核所需时间

                let count = length.doubleValue * 24 * 60 * 60

                //如果超过预估审核时间则视为审核通

                return current - releaseTime > count

            }

        }

        return false

    }

    ---------------- 一样的写法 -----------------

    /// 检测当前是否线上状态

    ///

    /// - Parameter newVersion: 服务器获取到的versionModel

    /// - Returns: 返回是否是线上状态 ture:线上, false:审核中

    func CheckActive() -> Bool {

        if let newVersion = UserDefaultsGetModel(key: Version_Identitfying) as? AppUpdateModel {

            if let infoDic = Bundle.main.infoDictionary {

                let currentVersion: String = infoDic["CFBundleShortVersionString"] as! String

                var currentVersionInt = 0

                let currentArray = currentVersion.components(separatedBy: ".")

                if currentArray.count == 3 {

                    currentVersionInt = Int(currentArray[0])! * 100 + Int(currentArray[1])! * 10 + Int(currentArray[2])!

                }

                

                var newVersionInt = 0

                if let newArray = newVersion.version?.components(separatedBy: ".") {

                    if newArray.count == 3 {

                        newVersionInt = Int(newArray[0])! * 100 + Int(newArray[1])! * 10 + Int(newArray[2])!

                    }

                }

                if newVersionInt > currentVersionInt {

                    return true

                }else {

                    if newVersion.active == 0 {

                        return false

                    }else {

                        return true

                    }

                }

            }

        }

        return false

    }

  • 相关阅读:
    Promise原理实现(一):前置知识点
    移动端禁用缩放
    多条命令同时执行的包concurrently
    通过面试题学JavaScript知识(1)
    移动设备适配
    css 文本溢出显示省略号
    变量对象的理解
    7.10 日志
    7.9 日志
    JMETER接口测试之自动化环境的配置
  • 原文地址:https://www.cnblogs.com/supersr/p/15686371.html
Copyright © 2011-2022 走看看