Swift 自动检测版本更新,并弹窗提示

1、获取Apple Id

要监测 App Store 上的版本,需要获取该 App 的 Apple Id

登录 App Store Connect 后,在 App 信息中,获取 Apple Id

2、监测对比App Store的版本

通过如下代码获取当前安装的应用版本和App Store上的最新版本,并做对比

let appId = "****" 这里的 **** 就是刚刚获取的Apple ID

    //MARK: - 检查更新
    let appId = "****"
    func detectionOfUpdate(){
        //获取当前手机安装使用的版本号
        let localVersion:String = Bundle.main.infoDictionary!["CFBundleShortVersionString"] as! String
        print(localVersion)
        //获取App Store上app的最新版本
        let url = "http://itunes.apple.com/lookup?id=\(appId)"
        AF.request(URL(string: url)!, method: .post, parameters: nil)
            .responseString { (responses:AFDataResponse) in
                if let jsonData = UploadRoot.deserialize(from: responses.value){
                    if let version = jsonData.results[0].version {
                        //对比App Store上的版本和当前安装的版本
                        if version > localVersion {
                            self.alertsTwo()
                        }
                    }
                }
            }
    }

3、弹窗提示更新

判断如果返回的版本大于当前版本,就弹窗提示更新

    //MARK: - 双按钮提示框
    func alertsTwo(){
        let alert:UIAlertController = UIAlertController(title: "有新版本", message: "前去更新版本?", preferredStyle:UIAlertController.Style.alert)
        let noAction = UIAlertAction(title: "取消", style: .cancel) { (UIAlertAction) in}
        let yesAction = UIAlertAction(title: "更新", style: .destructive) { [self] (UIAlertAction) in
            let updateUrl:URL = URL.init(string: "https://itunes.apple.com/cn/app/%E8%8E%B1%E4%BB%98mpos/id"+appId+"?mt=8")!
            if #available(iOS 10.0, *) {
                UIApplication.shared.open(updateUrl, options: [:], completionHandler: nil)
            } else {
                UIApplication.shared.openURL(updateUrl)
            }
            self.dismiss(animated: true, completion: nil)
        }
        alert.addAction(noAction)
        alert.addAction(yesAction)
        //以模态方式弹出
        self.present(alert, animated: true, completion: nil)
    }

你可能感兴趣的:(swift,IOS,swift,ios,xcode,监测更新,App,Store)