app提示升级版本 ios
2016-09-14 17:52:08 ago_lei 阅读数 145
//检测软件是否需要升级
-(void)checkVersion
{
    //新版本
    //NSString *newVersion;
    NSMutableArray *newVersion = [NSMutableArray array];
    //获取本地软件的版本号
    NSString *localVersion = [[[NSBundle mainBundle]infoDictionary] objectForKey:@"CFBundleVersion"];
    
    WS(weakself);
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    [manager POST:@"http://itunes.apple.com/lookup?id=1142068114" parameters:nil progress:^(NSProgress * _Nonnull uploadProgress) {
        
    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {
        
        NSArray *array = responseObject[@"results"];
        NSDictionary *dict = [array lastObject];
        NSLog(@"当前版本为:%@", dict[@"version"]);
        
        [newVersion addObject:dict[@"version"]];
        [weakself isOrUp:localVersion andNew:newVersion[0]];
        
    } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
        
    }];
 
}
/**
 *  升级(刨除1.2.2)最后的.2
 */
- (void)isOrUp:(NSString *)old andNew:(NSString *)new{
    
    NSString *msg = [NSString stringWithFormat:@"你当前的版本是V%@,发现新版本V%@,是否下载新版本?",old,new];
        MYLog(@"%@",msg);
    MYLog(@"%f,%f",[new floatValue],[old floatValue]);
        //对比发现的新版本和本地的版本
        if ([new floatValue] >= [old floatValue])
        {
            UIAlertView *createUserResponseAlert = [[UIAlertView alloc] initWithTitle:@"升级提示!" message:msg delegate:self cancelButtonTitle:@"下次再说" otherButtonTitles: @"现在升级", nil];
            [createUserResponseAlert show];
           
        }
    

}

//跳转到Appstore

- (void)upApp:(UIButton *)sender{
    
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://itunes.apple.com/cn/app/ding-dongsshn/id??????mt=8"]];
    
}

2019-03-08 15:02:00 weixin_34355881 阅读数 34

关于iOS中升级操作有2中做法:1.中iturns中去检测网上版本和手机当前版本是否是最新提示. 2.从后台服务器去请求后台服务器设置的版本号.

第一种做发用afn请求iturns的json信息,里面包含app的很多信息,有最新版本号
afn中传的url路径为@"https://itunes.apple.com/cn/lookup?id=%@"
其中%@为用户账号id
跳转到appstore的做法代码
NSURL *url= [NSURL URLWithString:[NSString stringWithFormat:@"itms-apps://itunes.apple.com/us/app/id%@?mt=8",[ServerConfig sharedInstance].appStore_AppleID]];
[[UIApplication sharedApplication]openURL:url];

第二种做法(适用于企业app下载)是从服务器去获取版本号,如果版本号不同,加载服务器的下载app的网页,从服务器网页下载最新app安装

2016-12-21 13:51:00 weixin_33856370 阅读数 8

如果要在app里加入提醒用户升级的功能,只需要几个步骤:

  1. 获取用户本地app的版本号
  2. 获取App Store上本app的版本号
  3. 做对比,如果版本号不同则提示用户升级

首先定义三个方法:

//弹出Alert窗口,传入一个url参数,可以是app在store的地址,引导用户更新.
func sendAlert(url:String) {
    
    let alertController = UIAlertController(title: "系统提示",
                                            message: "应用有最新版本了,请前往升级.", preferredStyle: .alert)
    let cancelAction = UIAlertAction(title: "取消", style: .cancel, handler: nil)
    let okAction = UIAlertAction(title: "好的", style: .default, handler: {
        action in
        UIApplication.shared.openURL(NSURL(string: url) as! URL) //跳转到app store对应地址
        
    })
    alertController.addAction(cancelAction)
    alertController.addAction(okAction)
    self.present(alertController, animated: true, completion: nil)
    
}


//获取本地的版本号
func getNowAppVersion() -> String {
    
    var listData: NSDictionary = NSDictionary()
    
    let filePath = Bundle.main.path(forResource: "Info.plist", ofType:nil )
    listData = NSDictionary(contentsOfFile: filePath!)!
    
    return  listData["CFBundleVersion"]!  as! String
    
}

//获取APP Store上的版本号,参数id是app store上的id
func getStoreAppVersion (id:String) -> String {
    
    let appurl = "https://itunes.apple.com/lookup?id=" + id
    
    do{
        
        let jsonData = NSData(contentsOf: NSURL(string: appurl)  as! URL)
        
        let json = try JSONSerialization.jsonObject(with: jsonData as! Data, options: JSONSerialization.ReadingOptions.mutableLeaves) as! NSDictionary
        
        let res = json["results"] as! NSArray
        
        let xx = res[0] as! NSDictionary
        
        return xx["version"]! as! String
        
        
    }  catch {
        NSLog("JSON解析失败")
    }
    return "getAppVersion error"
}

在启动ViewController里做对比版本操作即可达到标题的目的:

    
    override func viewDidAppear(_ animated: Bool){
        super.viewDidAppear(animated)
        
        let url = "app的地址,用户在弹出框确认更新时可以直接跳转过去"
        let id = "xxxxxxx"
        
        if getNowAppVersion()  == getStoreAppVersion(id: id) {
            NSLog("版本号相同")
        } else {
            NSLog("版本号不同")
            sendAlert(url: url)
        }
    
    }

这里有个小坑:
如果开发时填写的版本号是整数,例如1. 则从app store上获取的版本号会是1.0 , 而在用户本地获取的是1, 对比就失败了. 所以最好是在开发时,版本号填写精确到小数点后1位.


更新:

这样提交审核会被拒...别问我是怎么知道的.....(>﹏<)

2013-05-27 16:57:51 joe1209 阅读数 2127

Iosapp升级版本步骤

1.打开地址https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa,登录进入

2.选择ManageYour App,选中你要升级的那个应用,会跳转到这个应用的信息界面

3.在这个界面,currentVersion下面有你的应用icon,会显示你的应用状态,点击右边的addversion 按钮,

4.输入你要升级的版本号和新版本中添加的新特性或修改的bug信息

5.完成后进入下级界面,会提示你应用的状态为“preparefor Upload”,点击右上角的“Readyto Upload Binary”,进入“ExportCompliance”界面,第一个选项问你是否添加加密,选择NO;第二项Yes,下面的版本全部选中状态;continue

6.进入“VersionRelease Control”界面,选中Automaticallysave后进入“Waitingfor Upload”状态

7.使用xcode打包上传,具体步骤请看文档使用“xcode打包上传app”

2016-06-08 09:09:40 zwl492454828 阅读数 558

//Appstore监测版本

-(void)onCheckVersion

{

//本地短版本号

    NSDictionary *infoDic = [[NSBundlemainBundle] infoDictionary];

    //CFShow((__bridge CFTypeRef)(infoDic));

    NSString *currentVersion = [infoDic objectForKey:@"CFBundleShortVersionString"];

    //itunes版本号

    NSString *URL =@"http://itunes.apple.com/lookup?id=1102364142";

    NSMutableURLRequest *request = [[NSMutableURLRequestalloc] init];

    [request setURL:[NSURLURLWithString:URL]];

    [request setHTTPMethod:@"POST"];

    NSHTTPURLResponse *urlResponse = nil;

    NSError *error = nil;

    NSData *recervedData = [NSURLConnectionsendSynchronousRequest:request returningResponse:&urlResponse error:&error];

    

    NSDictionary *dic = [NSJSONSerializationJSONObjectWithData:recervedData options:kNilOptionserror:&error];

    NSArray *infoArray = [dic objectForKey:@"results"];

    if ([infoArray count]) {

        NSDictionary *releaseInfo = [infoArrayobjectAtIndex:0];

        NSString *lastVersion = [releaseInfo objectForKey:@"version"];

        

        if (![lastVersion isEqualToString:currentVersion]) {

            UIAlertView *alert = [[UIAlertViewalloc] initWithTitle:@"更新"message:@"有新的版本更新,是否前往更新?"delegate:selfcancelButtonTitle:@"关闭"otherButtonTitles:@"更新",nil];

            alert.tag = 10000;

            [alert show];

        }

    }

}

//更新地址

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

{

    if (alertView.tag==10000) {

        if (buttonIndex==1) {

            NSURL *url = [NSURLURLWithString:@"https://itunes.apple.com/us/app/coband/id1102364142?mt=8"];

下载地址类似:http://itunes.apple.com/app/id1166090758

            [[UIApplicationsharedApplication]openURL:url];

        }

    }

}


ios升级app

阅读数 926

没有更多推荐了,返回首页