zoukankan      html  css  js  c++  java
  • iOS添加自动更新的代码

    - (void)versionUpdate{
        
        //获得当前发布的版本
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            
            //耗时的操作--获取某个应用在AppStore上的信息,更改id就行
            __weak LoginViewController *weakSelf = self;
            NSString *string = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://itunes.apple.com/cn/lookup?id=1108288793"] encoding:NSUTF8StringEncoding error:nil];
            NSData *data = [string dataUsingEncoding:NSUTF8StringEncoding];
            NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
            NSString *version = [[[dic objectForKey:@"results"]firstObject]objectForKey:@"version"];
            
            NSString *updateInfo = [[[dic objectForKey:@"results"]firstObject]objectForKey:@"releaseNotes"];
            //NSString *updateURL = [[[dic valueForKey:@"results"] firstObject] objectForKey:@""];
            
            //获得当前版本
            NSString *currentVersion = [[[NSBundle mainBundle]infoDictionary]objectForKey:@"CFBundleShortVersionString"];
            
            dispatch_async(dispatch_get_main_queue(), ^{
                //更新界面
                if ( version &&![version isEqualToString:currentVersion]) {
                    //有新版本
                    NSString *message = [NSString stringWithFormat:@"有新版本发布啦!
    %@",updateInfo];
                    UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"温馨提示" message:message preferredStyle:UIAlertControllerStyleAlert];
                    UIAlertAction *action1 = [UIAlertAction actionWithTitle:@"忽略" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
                        
                    }];
                    UIAlertAction *action2 = [UIAlertAction actionWithTitle:@"前往更新" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
                        NSString *url = @"https://itunes.apple.com/cn/app/rich-products/id1108288793?mt=8&uo=4";
                        
                        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
                    }];
                    
                    [alertController addAction:action1];
                    [alertController addAction:action2];
                    
                    [weakSelf presentViewController:alertController animated:YES completion:nil];
                }else{
                    //已是最高版本
                    NSLog(@"已是最高版本");
                }
                
            });
            
        });
        
    }

    记得http://itunes.apple.com/cn/lookup?id=1108288793,这中间的这个CN不能掉了,不然返回的JSON数组为空。

  • 相关阅读:
    About IL, ILGenerator
    何谓系统架构师(转)
    C# weakreference
    新蛋,您能告诉我,这是怎么了吗?
    C#线程同步的常用关键字简介
    [转]百万级访问网站前期的技术准备
    Gridview控件的使用要点
    Asp.net三种页面传值方法
    浅谈 Vue css scoped & module
    Mac iTerm2 zsh: command not found: node/npm/nvm...
  • 原文地址:https://www.cnblogs.com/wobuyayi/p/5661125.html
Copyright © 2011-2022 走看看