美文网首页HTML5 专栏
iOS 自动检测版本更新APP

iOS 自动检测版本更新APP

作者: 石虎132 | 来源:发表于2017-12-10 17:22 被阅读133次

    //联系人:石虎QQ:1224614774昵称:嗡嘛呢叭咪哄

    一、实现思路

    /** 实现思路

    1.获取当前项目APP版本号

    2.拿到AppStore项目版本号

    3.对比版本号,实现更新功能

    */

    //一定要先配置自己项目在商店的APPID,配置完最好在真机上运行才能看到完全效果哦

    #define STOREAPPID @"1234567890"

    二、代码实现

    //检测app更新

    -(void)updateApp

    {

    //1.先获取当前工程项目版本号

    NSDictionary*infoDic = [[NSBundlemainBundle]infoDictionary];

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

    //2.从网络获取appStore版本号

    NSError*error;

    NSData*response = [NSURLConnectionsendSynchronousRequest:[NSURLRequestrequestWithURL:[NSURLURLWithString:[NSStringstringWithFormat:@"http://itunes.apple.com/cn/lookup?id=%@",STOREAPPID]]]returningResponse:nilerror:nil];

    //2.1没有内容

    if(response ==nil) {

    NSLog(@"你没有连接网络哦");

    return;

    }

    //3.序列化解析

    NSDictionary*appInfoDic = [NSJSONSerializationJSONObjectWithData:responseoptions:NSJSONReadingMutableLeaveserror:&error];

    //3.1数据错误

    if(error) {

    NSLog(@"hsUpdateAppError:%@",error);

    return;

    }

    //3.2字典解析

    NSArray*array = appInfoDic[@"results"];

    NSDictionary*dic = array[0];

    NSString*appStoreVersion = dic[@"version"];

    //打印版本号

    NSLog(@"当前版本号:%@\n商店版本号:%@",currentVersion,appStoreVersion);

    //4.当前版本号小于商店版本号,就更新

    if([currentVersionfloatValue] < [appStoreVersionfloatValue])

    {

    UIAlertView*alert = [[UIAlertViewalloc]initWithTitle:@"版本有更新"message:[NSStringstringWithFormat:@"检测到新版本(%@),是否更新?",appStoreVersion] delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"更新",nil];

    [alertshow];

    }else{

    NSLog(@"检测到不需要更新");

    }

    }

    谢谢!!!

    相关文章

      网友评论

        本文标题:iOS 自动检测版本更新APP

        本文链接:https://www.haomeiwen.com/subject/kyevixtx.html