一、概念阐述:Build与Version的区别

在iOS中有两种“版本号”,也就是所谓的version号与build号,如下图所示:

我们用最简洁的语言来区分这两个版本号的区别以及用途如下:

  • Version号:也称为Bundle versions string, sthort.  appstore以及itune中产品介绍所用的版本号,多面向用户,多为两段式或者三段式,1.0.1,1.2等,通常作为版本升级的主要依据
  • Build号:也称为Bundle version.  开发者团队内部使用,方便追查bug,多用于内测过程中区分出不同产品。也就是相同Version下,Build号可以不同

二者在plist中也分别用不同的字段来表示

对于开发者而言,我们往往更关注Build号,也就是Bundle version。因此,本文旨在介绍一种方法,实现Bundle version自动标记,用以区分不同的内测产品。


二、Bundle version自动增加

Bundle version的表示方法用很多种,大致如下:时间表示法(e.g. 20150715)、字母表示法、纯数字表示法。本文采用最后的纯数字表示法,并且采用xcode对代码的编译次数作为bundle version。可以预见,这样的bundle version将呈现出递增趋势。但需要每次编译后都去修改xcode的工程设置以及plist吗?答案是否定的。APPLE已经提供了工具帮我们实现bundle version的自动递增。

具体设置步骤参加下图(图片转载自此处):

其中的脚本代码为:

1
xcrun agvtool next-version -all


三、More

如果是多人开发,会存在每个人开发的分支多次编译导致Build版本不准的情况,但不影响开发进程。对于开发我们需要注意的是每次测试测试前的Build版本。确保它增加,就,可以了!至于是否要release时增加,是否需要手动修改,这个可以根据实际情况调整。毕竟,Build版本号只是一个辅助的参数。

设置iOS项目BuildVersion自动增加-备用的更多相关文章

  1. 【原】设置iOS项目BuildVersion自动增加

    一.概念阐述:Build与Version的区别 在iOS中有两种“版本号”,也就是所谓的version号与build号,如下图所示: 我们用最简洁的语言来区分这两个版本号的区别以及用途如下: Vers ...

  2. 【Spring Boot】Spring Boot之使用 Spring Boot Configuration Processor 完成设置自定义项目属性自动补全

    一.引入Maven坐标 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...

  3. 如何在使Xcode打包iOS应用时自动增加编译号

    在红框标注的输入框中输入:真机调试编译成功增加 echo $CONFIGURATION if [ "Release" == "${CONFIGURATION}" ...

  4. 如何自动增加和从代码读取Xcode项目的版本号

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) Xcode项目和版本号相关的有2个地方Version和Buil ...

  5. iOS项目转移到自动引用计数

    这里主要参考了Apple官方文档:Transitioning to ARC Release Notes 在支持iOS5的Xcode4中,创建项目会看到这样的选项: 这是iOS5的新特性,自动对象引用计 ...

  6. React Native(ios)项目中logo,启动屏设置

    由于logo和启动屏尺寸多,react native(ios)中没有命令可以自动生成各种的尺寸,所以可以使用以下办法:在ionic项目中生成(使用命令:ionic resources)后,再粘贴到re ...

  7. JTextPane或JTextPane设置了滚动条,文本增加后,滚动条自动下滑,追加文本的例子

    http://zhizaibide1987.iteye.com/blog/1012955 https://zhidao.baidu.com/question/2116908942184706107.h ...

  8. iOS学习——iOS项目增加新的字体

    基本思路 在项目开发过程中,iOS系统自带的字体库可能不适应需求,需要导入其他的字体库.下面是iOS项目增加新的字体的基本思路,基本上分为三步: 将字体库添加到项目中 在info.plist中添加所需 ...

  9. ios项目里扒出来的json文件

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px Menlo; color: #000000 } p.p2 { margin: 0.0px 0. ...

随机推荐

  1. 将vs2012建的项目转换为vs2010项目

    vs2012建的项目vs2010打不开,但vs2010的项目vs2012能打开,所以我觉得vs2012没有对解决方案进行重大的调整,尝试修改了一下.sln文件,使用vs2010就能打开了,方法如下: ...

  2. [教程] 神器i9100刷基带与内核的方法!(兼带ROOT方法)

    http://bbs.hiapk.com/thread-2647905-1-1.html ------何为基带?何为内核? 为什么刷基带,为什么刷内核?!!! 基带:基带(Baseband)是手机中的 ...

  3. SWFLoader交互

    主应用程序: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=& ...

  4. MVC VIEW 时间格式控制

    @Convert.ToDateTime(Model.CheckPatronExclusionResults.RequestTime).ToString("yyyy-MM-dd HH:mm:s ...

  5. C#委托与事件之观察者Observer设计模式

    前言    委托: 委托是一种在对象里保存方法引用的类型,同时也是一种类型安全的函数指针. 或委托可以看成一种表示函数的数据类型,类似函数指针. 事件是特殊的委托 观察者模式:两种角色:(1)Subj ...

  6. ruby gems安装镜像

    由于每一个月都要升级两台gitlab server, ruby安装的源老是被墙,痛苦无比. 所以须要使用国内的镜像 在/home/git/gitlab/Gemfile文件里第一行改动为: # sour ...

  7. Linux安装WebLogic12

    # groupadd weblogic# useradd -g weblogic weblogic# passwd weblogic# mkdir -p /var/bea# chown -R webl ...

  8. sql列转行

    1.需要实现一个单行的统计报表 思路先用一个union查出单列,然后再把单列转成单行 2.实现 SELECT MAX(CASE WHEN type = 1 THEN num ELSE 0 END) A ...

  9. c# 操作PPT

    前段时间要做一个把指定图片放到新建的ppt的东西,在网上找了点资料看了一下,发现用C#做好像是最简单的一个,一下是在网上找的一段代码,直接贴进去就能够执行,可是在执行之前一定要加入dll支持:  项目 ...

  10. python:字符串取值

    某个字符串为stmp="abcdef54321" 取前面5个stmp[:5] #abcde 取后面5个stmp[-5:] #54321 从前面开始取,不包括最后两个stmp[:-2 ...