【原】设置iOS项目BuildVersion自动增加
一、概念阐述: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的自动递增。
具体设置步骤参加下图(图片转载自此处):


其中的脚本代码为:
xcrun agvtool next-version -all

三、More
如果是多人开发,会存在每个人开发的分支多次编译导致Build版本不准的情况,但不影响开发进程。对于开发我们需要注意的是每次测试测试前的Build版本。确保它增加,就,可以了!至于是否要release时增加,是否需要手动修改,这个可以根据实际情况调整。毕竟,Build版本号只是一个辅助的参数。
原创文章,转载请注明 编程小翁@博客园,邮件zilin_weng@163.com,欢迎各位与我在C/C++/Objective-C/机器视觉等领域展开交流!
【原】设置iOS项目BuildVersion自动增加的更多相关文章
- 设置iOS项目BuildVersion自动增加-备用
一.概念阐述:Build与Version的区别 在iOS中有两种“版本号”,也就是所谓的version号与build号,如下图所示: 我们用最简洁的语言来区分这两个版本号的区别以及用途如下: Vers ...
- 【Spring Boot】Spring Boot之使用 Spring Boot Configuration Processor 完成设置自定义项目属性自动补全
一.引入Maven坐标 <dependency> <groupId>org.springframework.boot</groupId> <artifactI ...
- 如何在使Xcode打包iOS应用时自动增加编译号
在红框标注的输入框中输入:真机调试编译成功增加 echo $CONFIGURATION if [ "Release" == "${CONFIGURATION}" ...
- 如何自动增加和从代码读取Xcode项目的版本号
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) Xcode项目和版本号相关的有2个地方Version和Buil ...
- Flutter踩坑日记:接入现有iOS项目
之前搞的Flutter版工具链已经弄完了,感兴趣的朋友可以围观下,Android版本dio库(v2.0.14)发送网络请求老是报错,去官方提了issue还没回,于是今天搞一下把Flutter模块接入到 ...
- iOS项目转移到自动引用计数
这里主要参考了Apple官方文档:Transitioning to ARC Release Notes 在支持iOS5的Xcode4中,创建项目会看到这样的选项: 这是iOS5的新特性,自动对象引用计 ...
- React Native(ios)项目中logo,启动屏设置
由于logo和启动屏尺寸多,react native(ios)中没有命令可以自动生成各种的尺寸,所以可以使用以下办法:在ionic项目中生成(使用命令:ionic resources)后,再粘贴到re ...
- JTextPane或JTextPane设置了滚动条,文本增加后,滚动条自动下滑,追加文本的例子
http://zhizaibide1987.iteye.com/blog/1012955 https://zhidao.baidu.com/question/2116908942184706107.h ...
- iOS学习——iOS项目增加新的字体
基本思路 在项目开发过程中,iOS系统自带的字体库可能不适应需求,需要导入其他的字体库.下面是iOS项目增加新的字体的基本思路,基本上分为三步: 将字体库添加到项目中 在info.plist中添加所需 ...
随机推荐
- 在 ML2 中 enable local network - 每天5分钟玩转 OpenStack(79)
前面完成了一系列准备工作,本节开始将创建各种 Neutorn 网络,我们首先讨论 local network. local network 的特点是不会与宿主机的任何物理网卡相连,也不关联任何的 VL ...
- Attach Volume 操作(Part I) - 每天5分钟玩转 OpenStack(53)
上一节我们创建了 volume,本节讨论如何将 volume attach 到 Instance,今天是第一部分. Volume 的最主要用途是作为虚拟硬盘提供给 instance 使用.Volume ...
- 【记录】xUnit for vs2012/vs2013
关于 NUint 以及单元测试的相关内容,可以参考:[单元测试]NUint使用详解及Visual Studio配置. xUnit 是 NUint 的进化版本,使用方法和 NUint 类似,首先下载安装 ...
- 缓存Cookie、session、localStorage的区别
cookie Cookie就是服务器暂存放在你计算机上的一笔资料,好让服务器用来辨认你的计算机.当你在浏览网站的时候,Web服务器会先送一小小资料放在你的计算机上,Cookie 会帮你在网站上所打的文 ...
- 浅谈 php 采用curl 函数库获取网页 cookie 和 带着cookie去访问 网页的方法!!!!
由于近段时间帮朋友开发一个能够查询正方教务系统的微信公众平台号.有所收获.这里总结下个人经验. 开讲前,先吐槽一下新浪云服务器,一个程序里的 同一个函数 在PC测试可以正常运行,在它那里就会挂的 ...
- 1Z0-053 争议题目解析419
1Z0-053 争议题目解析419 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 419.In Oracle 11g, by default which one of the fo ...
- Azure Media Service (1) 使用OBS进行Azure Media Service直播
<Windows Azure Platform 系列文章目录> 今天正好有客户问如何使用OBS进行Azure Media Service直播,我这里简单介绍一下. 先决条件: 1. OBS ...
- Authentication of Django
Django Authentication 用户认证系统 一. Django的认证系统 Django自带一个用户认证系统,用于处理用户账户.群组.许可和基于cookie的用户会话. 1.1 概览 Dj ...
- 【C#】分享一个弹出容器层,像右键菜单那样召即来挥则去
适用于:.net2.0+ Winform项目 ------------------201508261813更新(源码有更新.Demo未更新)------------------ 重新绘制调整大小手柄( ...
- 《TypeScript 中文入门教程》 1、基础数据类型
转载:https://github.com/MyErpSoft/TypeScript-Handbook/blob/master/pages/zh-CHS/Basic%20Types.md 概述 为了让 ...