swift 获取Appstore版本号并与本地版本比较 更新跳转到Appstore

首先我用的是Alamofire请求的数据

1.获取appstore版本号

1
2
3
4
5
6
7
8
9
10
11
func checkVersionTapGestrue(sender: UITapGestureRecognizer){
        Alamofire.request("https://itunes.apple.com/lookup?bundleId=你的bundleId", method: .get, parameters: [:])
            .responseJSON { (response) in
                 
                if let value = response.result.value {
                    let json = JSON(value)
             
                    self.compareVersion(appStoreVersion: json["results"][0]["version"].stringValue)
                }
        }
    }

2.比较两个版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//比较版本
    func compareVersion(appStoreVersion: String) {
     
        let version:String = (Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String)!
 
        if appStoreVersion == version {
            BaseController().showTextOnly(view: self.view, text: "当前已经是最新版本", detail: "")
        }else{
            let urlString = "itms-apps://itunes.apple.com/app/id23223232323"id加你的appId
            if let url = URL(string: urlString) {
                //根据iOS系统版本,分别处理
                if #available(iOS 10, *) {
                    UIApplication.shared.open(url, options: [:],
                                              completionHandler: {
                                                (success) in
                    })
                } else {
                    UIApplication.shared.openURL(url)
                }
            }
        }
    }   

参考:http://www.hangge.com/blog/cache/detail_1265.html

Alamofire

Alamofire

Alamofire

Alamofire

Alamofire

posted @   昨天的李小白  阅读(999)  评论(0编辑  收藏  举报
编辑推荐:
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
阅读排行:
· 《HelloGitHub》第 106 期
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用
点击右上角即可分享
微信分享提示