美文网首页自专题iOS征服iOS
iOS开发之获取APP在AppStore中的版本号

iOS开发之获取APP在AppStore中的版本号

作者: 1c7d21358574 | 来源:发表于2015-12-10 21:41 被阅读14910次

导语

开发中我们可能会遇到这样的需求,当AppStore中有新版本迭代更新,在用户点开APP的时候弹框提醒客户去AppStore更新APP。这里面就有个关键点,判断当前APP与AppStore中的版本高低,若一样,则无需进行提示;反之则弹框提示(用户使用版本不会比AppStore版本高)。下面就讲一下如何获取APP在AppStore中的版本,惯例直接上代码,O(∩_∩)O

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
    [manager POST:@"https://itunes.apple.com/lookup?id=414478124" parameters:nil success:^(AFHTTPRequestOperation * _Nonnull operation, id  _Nonnull responseObject) {
        NSArray *array = responseObject[@"results"];
        NSDictionary *dict = [array lastObject];
        NSLog(@"当前版本为:%@", dict[@"version"]);
    } failure:^(AFHTTPRequestOperation * _Nullable operation, NSError * _Nonnull error) {
        [SVProgressHUD showErrorWithStatus:@"请求失败!" ];
    }];
}

简单介绍一下上面的代码,请求链接中的id为APP在AppStore中的一个序号,你可以看成一个唯一标识符,下面放几张图片给还不清楚如何获取的同学科普下,我们以微信为例


QQ20151210-0@2x.png
QQ20151210-1@2x.png

返回的responsObjet返回的是一个字典,results键取出来是一个单个元素的数组,所以我用lastObject这个方法取的元素(当然你也可以firstObject或者[0]),数组取出的元素同样是一个字典,version键对应的值就是AppStore中的版本号。字典里的所有键值对几乎涵盖了APP在AppStore中的各种信息,有兴趣的小伙伴可以打个断点在控制台po一下,就酱紫啦~

相关文章

网友评论

  • 翻滚的炒勺2013:有没有发现请求回来的版本号不稳定
  • 须臾以北____:同意一楼看法,但个人认为不需要请求接口(因为可能出现网路差,服务器卡等数据返回延迟问题,如果在审核的时候出现就gg了)来判断状态:

    UIKIT_EXTERN BOOL isPayBtnHidden; //此变量定义为全局变量

    isPayBtnHidden=当前提交版本号>商店版本号;

    审核状态: isPayBtnHidden
    非审核状态:! isPayBtnHidden
  • 咖啡绿茶1991:应用程序还没有发布,如何获取它的id啊 求解
    blus_lee:你再itunes connect 创建要发布应用的时候会生成个id
  • 95a22066c69d: 你好,我现在遇到的问题就是。在对apple发送这个接口的时候(https://itunes.apple.com/lookup?id=我的app ID )获取的version与在App Store上面实际version不一样,请问这个是有一定的延迟吗?
    凡夫俗子_1b81:@成长路上多迷惑 我的也是有 延迟 通过这个接口获取的version 与刚刚发布的版本号对不上 怎么破
    成长路上多迷惑:老铁 , 你这个问题找到原因了吗。 是延迟 ?
    1c7d21358574:@Love_Ju 可能是延迟,我拿微信和我司app测试,都是一致的
  • blus_lee:你好,获取的version 对应程序里面的version版本还是build版本啊?
    成长路上多迷惑:@Love_Ju 我现在也遇到这个问题了, 我上线版本号是1.9.4。 接口请求回来的还是1.9.3
    95a22066c69d:你好,我现在遇到的问题就是。在对apple发送这个接口的时候(https://itunes.apple.com/lookup?id=我的app ID )获取的version与在App Store上面实际version不一样,请问这个是有一定的延迟吗?
    1c7d21358574:@blus_lee AppStore里怎么会是build呢:joy:
  • unhangcorn:好人一生平安
  • ccbd8f44e39b:你好,我请求下来的还是空的
    1c7d21358574:@ccbd8f44e39b 你仔细检查下报的什么错,看哪里写错没?
  • 暗夜夜夜行路:你好,现在网址已经变成了https,望周知
    未来可期me:那http有数据还能用不
    1c7d21358574:多谢提醒
  • 哼哈猿:多谢分享!
  • 郑明明:可以的
  • shushuzhen:为什么走的还是失败的回调?作者能回复吗?
  • Li_Cheng:你好 解析出来是空的 为什么
  • iOSNoteByNiu:什么东东啊,空
  • 笨笨编程:你好,我今天发布了一个应用在AppStore上面,只有一个版本,我怎么获取到的results数组为空哇!
    王浩_wh:请问app只在国内上架,resultcount为0,这样还可以怎样获取AppStore上的版本号
    笨笨编程:@会飞的猪tou 解决了,因为我的APP设置了只在国内,所以resultcount为0
    会飞的猪tou:@笨笨编程 我也是返回个数为0,数组为空,你解决了吗
  • 村里竹竿:博主您好,如果我的APP是第一次发布,是没有id的吧,当我下个版本的时候,怎么提示更新?
    我的天空蔚蓝色:@遥遥锅锅 创建好APP就有了.....
    1c7d21358574:@村里竹竿 你好,发布之后就会有了

本文标题:iOS开发之获取APP在AppStore中的版本号

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