iOS的xcode的version,build以及App Store的version

iOS的xcode的version,build以及App Store的version

我从简书搬家了

本文原地址:原地址

前人挖坑后人填。。。。 阐述一下背景:

App更新迭代,需要跟后台做一个版本控制更新的开关。正常来说应该是将xcode的version与App Store的version对应,并通过该值判断开关是否打开。

但是问题来了。。上一位iOS工程师一直是使用的build进行版本控制,本地xocde的version比App Store的version高出不少。

先说一说Version。分为xcode的version和App Store的version。理论上应该两者一致。方便维护。

xcode的version

可以通过

//  获得version号
  NSString *versionCode =[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
复制代码

获取,获取的是info.plist文件中的

###App Store的version 则是通过调取接口: itunes.apple.com/lookup?id=你… 调用方式:post 返回结果:

NSArray *array = responseObject[@"results"];
NSDictionary *dict = [array lastObject];
NSLog(@"当前版本为:%@", dict[@"version"]);
复制代码

代码如下:

    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) {
        NSLog @"请求失败";
    }];
}
复制代码

正常来说都是对外暴露的版本,xcode与App Store的版本理应一致。方便维护。

build:

开发内部测试版本号,写多少都行,内部开发测试用的,写多少都行,最好是不要对外暴露。因为每次打包都需要往上+,所以用于版本控制效果不好。

//获得build号:
  NSString *versionName =[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
复制代码

由于不可逆的缘故,version是没办法往下降了。我只能将错就错,尽量更新大版本,去追xcode的version,希望多几次更新能将版本回归正常。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101374.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • photoshop是目前图像处理理最顶级的一款软件_图片处理软件app

    photoshop是目前图像处理理最顶级的一款软件_图片处理软件app说到照片和图像编辑/操纵,真的没有更好的应用,AdobePS图象处理软件。 摄影师和创意工作室会同意这是总理的照片编辑应用期。不幸的是,PS图象处理软件还配备了一个陡峭的学习曲线和价格标签,我们必须考虑我们不会使用矫枉过正的1/3的功能包装成PS图象处理软件。 记住让我们看一些免费的在线和客户端安装的应用程序可以在互联网上看。 选项是巨大的所以我缩小了我的审查,只有最好的在线和客户端安装

    2022年4月20日
    60
  • 大数据,云计算和物联网的关系图_大数据和物联网的关系

    大数据,云计算和物联网的关系图_大数据和物联网的关系大数据云计算物联网

    2022年10月7日
    5
  • PyCharm切换Python版本

    PyCharm切换Python版本

    2021年10月22日
    45
  • 如何Ping特定端口号

    如何Ping特定端口号ping端口是最有效的故障排除技术之一,以便查看服务是否正常运行。系统管理员每天都使用ping命令,它依靠ICMP协议来检索有关远程主机的操作信息。但是,仅对主机进行ping操作并不总是足够的:您可能需要对服务器上的特定端口执行ping操作。此特定端口可能与数据库,ApacheWeb服务器甚至网络上的代理服务器相关。在本教程中,我们将看到如何使用各种不同的命令来ping特定端口。使用telnetping特定端口ping特定端口的最简单方法是使用telnet命令,后跟要pin.

    2026年1月16日
    4
  • HTML期末大作业~餐饮文化学生网页设计作业(HTML+CSS+JavaScript)[通俗易懂]

    HTML期末大作业~餐饮文化学生网页设计作业(HTML+CSS+JavaScript)[通俗易懂]HTML期末大作业~基于HTML+CSS+JavaScript饮食网站设计与实现关于HTML期末网页制作,大作业A+水平~饮食网页作业HTML+CSS+JavaScript实现,共有联系我们在线留言资质荣誉行业资讯成功案例新闻资讯产品中心发展历史关于我们8个页面!原始HTML+CSS+JS页面设计,可以学习学习,大学网页设计作业,~这是一个不错的网页制作,画面精明,非常适合初学者学习使用。作品演示1.关于我们2.产品中心3.新闻资讯4.资质荣誉5.在线留言6.

    2025年10月2日
    3
  • datagrip2021激活码【在线破解激活】[通俗易懂]

    datagrip2021激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    243

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号