iOS开发之Appstore篇——版本更新

1
 

1.版本更新方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
+ (void)updateWithAPPID:(NSString *)appid back:(void (^)(NSString *, NSString *, NSString *, BOOL))back{
    NSDictionary *infoDic = [[NSBundle mainBundle] infoDictionary];
    __block NSString *currentVersion = infoDic[@"CFBundleShortVersionString"];
    __block NSString *appstoreVersion = currentVersion;
    [self httpToolRequestWithUrlStr:nil baseUrl:[NSString stringWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",appid] method:GETSTR parameters:nil completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
        if (responseObject) {
            NSArray *results = responseObject[@"results"];
            NSDictionary *lastDict = [results lastObject];
            appstoreVersion = lastDict[@"version"];
            NSString *appstoreUrl = lastDict[@"trackViewUrl"];
            if (![currentVersion isEqualToString:appstoreVersion]) {
                if (back) {
                    back(currentVersion,appstoreVersion,appstoreUrl,YES);
                }
            }else{//不更新
                if (back) {
                    back(currentVersion,appstoreVersion,nil,NO);
                }
            }
        }else{//不更新
            if (back) {
                back(currentVersion,appstoreVersion,nil,NO);
            }
        }
    }];
}

2.页面更新提示

1
2
3
4
5
6
7
8
9
10
11
12
[HttpTool updateWithAPPID:@"你的appid" back:^(NSString *currentVersion, NSString *storeVersion, NSString *openUrl, BOOL isUpdate) {
                      if (isUpdate) {
                          UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"版本更新" message:@"app更新了,赶快去更新啦!" preferredStyle:UIAlertControllerStyleAlert];
                          UIAlertAction *affirAction = [UIAlertAction actionWithTitle:@"更新" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                              [[UIApplication sharedApplication]openURL:[NSURL URLWithString:openUrl]];
                          }];
                          UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"暂不更新" style:UIAlertActionStyleCancel handler:nil];
                          [alertVC addAction:affirAction];
                          [alertVC addAction:cancelAction];
                          [self.window.rootViewController presentViewController:alertVC animated:YES completion:nil];
                      }
                  }];

  

posted @   TheYouth  阅读(1229)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示