要监测 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、d窗提示更新
判断如果返回的版本大于当前版本,就d窗提示更新
//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)
//以模态方式d出
self.present(alert, animated: true, completion: nil)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)