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)
上一篇 2021年6月14日 下午5:00
下一篇 2021年6月14日 下午6:00


相关推荐

  • 像素级图像融合常用方法

    像素级图像融合常用方法像素级图像融合常用方法 根据对图像信息处理运用方式不同 可将图像融合分为三个层次上的研究 即像素级 特征级和决策级 其中像素级融合位于最低层 可以看作是对信息仅作特征提取并直接使用 也正是得益于其对信息最大程度上的保留 使其在准确性和鲁棒性上优于其他两级 相比之下 像素级融合获取的细节信息更丰富 是最常用的融合方式 因此 它同样是图像融合领域研究的热点 与此同时 由于其需要的配准精度高 必须达到

    2026年3月18日
    3
  • java 中级面试题及答案「建议收藏」

    java 中级面试题及答案「建议收藏」java中级面试题及答案1.MyBatis中,根据Id查询单个Order对象,动态SQL如何编写?A.SELECT*FROMOrderWHEREID=#{id};B.SELECT*FROMOrderWHEREID=#{id};C.SELECT*FROMOrderWHEREID=#{id};D.SELECT*FROMOrderWHEREID=#{id};B2.当一个bean的作用域为Prototype,表示含义是什

    2022年6月16日
    28
  • LDC1101 LDC1314 LDC1614 1612 线圈感应测试(PCB+源码)

    LDC1101 LDC1314 LDC1614 1612 线圈感应测试(PCB+源码)LDC1101LDC1314LDC16141612线圈感应测试(PCB+源码)www.cirmall.com/circuit/11579

    2022年6月7日
    38
  • 遗传算法的应用实例python实现_python遗传算法库

    遗传算法的应用实例python实现_python遗传算法库遗传算法遗传算法是用于解决最优化问题的一种搜索算法。从名字来看,遗传算法借用了生物学里达尔文的进化理论:”适者生存,不适者淘汰“,将该理论以算法的形式表现出来就是遗传算法的过程。问题引入上面提到遗传算法是用来解决最优化问题的,下面我将以求二元函数:defF(x,y): return3*(1-x)**2*np.exp(-(x**2)-(y+1)**2)-10*(x/5-x**3……

    2026年2月20日
    5
  • 奔图打印机驱动linux安装方法,奔图3100打印机驱动

    奔图打印机驱动linux安装方法,奔图3100打印机驱动奔图 3100 打印机驱动是一款用户使用打印机必备的驱动程序 如果用户没有安装该程序 那么在使用打印机的刚才中难免会遇到一些异常的问题 使用安装该程序还是非常有必要的 奔图 3100 打印机驱动在安装完成后 即可帮助用户解决各种因驱动引起的兼容性问题 让用户可以轻松的进行文件的打印处理操作 有需要的用户快来下载吧 奔图 3100 打印机驱动特色 1 同型号打印机用户必备程序 2 能够解决各种异常问题 3 让用户可以

    2026年3月26日
    2
  • 雅虎好用吗_b站上为什么不建议收藏

    雅虎好用吗_b站上为什么不建议收藏
 这几天开始使用雅虎收藏+,应该说这是雅虎中国目前最Web2.0的产品,虽然有del.icio.us在美国的经验,但收藏+并不是del.icio.us的简单汉化。详细的介绍、完备的各个浏览器下的插件,对于从del.icio.us用户来说几乎没有任何使用障碍.虽然有着不少的优点,我觉得这个产品还需要进一步改进:1)提供给用户静态URL.收藏…

    2025年8月1日
    8

发表回复

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

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