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


    
    

    1.版本更新方法

    + (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.页面更新提示

      [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];
                            }
                        }];
    

      

  • 相关阅读:
    MySQL Error--存储inode用完后报设备没有空间
    MySQL Binlog--基于ROW模式的binlog event大小限制
    MySQL Transaction--网络丢包导致长时间未提交事务
    java核心技术第四篇之JDBC第二篇
    java核心技术第三篇之JDBC第一篇
    java核心技术第二篇之数据库SQL语法
    JVM垃圾回收器原理及使用介绍
    JVM中优化指南
    MySQL常用工具、日志及读写分离
    java基础第十九篇之Xml
  • 原文地址:https://www.cnblogs.com/TheYouth/p/7967664.html
Copyright © 2020-2023  润新知