自增build ID配置

简介:
Buildplist文件中的key“CFBundleVersion”,标示(发布或者未发布)的内部版本号.通常我们用这个小版本号可以表示每一个不同的版本号,即使我们发布到AppStore上的版本有bug,但同时我们又不愿意修改大版本号(Version)我们可以通过Build来区分不同的版本号

 

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; 

Build版本获取 

NSString *build = [infoDictionary objectForKey:@"CFBundleVersion"];

 

编写脚本使Archive后自动增加build版本号

 

如果我们想在Archivebuild号自动增长,就可以使用到Xcoderun script来实现,

步骤是:

 
1.选中项目的TARGETS
2. 点击 “Build Phases“
3.点击左上角的
4选择 ”New run script Phase“
5. 会产生一个新的Run Script项,你会看到有一个Shell的黑框框,
6. 将代码copy到里面就可以了

这段shell脚本的意思就是说,如果当前的配置是DebugArchive时该值为Release,直接在模拟器上运行是Debug),就设置build值为当前build+1.(这里为了测试就用Debug)

在开发中一搬都是Release,直接把Debug 改为Release,这样每次打包发布的时候就会自增1.

代码如下

if [ $CONFIGURATION == Release ]; then

echo "Bumping build number..."

plist=${PROJECT_DIR}/${INFOPLIST_FILE}

 

#increment the build number (ie 115 to 116)

buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")

if [[ "${buildnum}" == "" ]]; then

echo "No build number in $plist"

exit 2

fi

 

buildnum=$(expr $buildnum + 1)

/usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}"

echo "Bumped build number to $buildnum"

 

else

echo $CONFIGURATION " build - Not bumping build number."

 

fi

 
7.接下来编译一下就可以自增了
想看 build 时输出的信息,可以通过 ”View -> Navigators -> Log” 来查看最新的 build 时产生的 log
 
 
 
 
 
 
 
 
 

 

相关文章
MybatisPlus-标准CRUD制作,新增boolean save(T t),删除 ~ delete(int id),修改 ~ update(T t),根据id查询,T getById....
MybatisPlus-标准CRUD制作,新增boolean save(T t),删除 ~ delete(int id),修改 ~ update(T t),根据id查询,T getById....
|
6月前
|
Java 数据库连接 数据库
mybatis-plus报错:Can not find table primary key in Class
mybatis-plus报错:Can not find table primary key in Class
1489 1
|
6月前
|
SQL 存储 Java
MyBatis【付诸实践 02】 mapper文件未编译+statementType使用+返回结果字段顺序不一致+获取自增ID+一个update标签批量更新记录
MyBatis【付诸实践 02】 mapper文件未编译+statementType使用+返回结果字段顺序不一致+获取自增ID+一个update标签批量更新记录
71 0
|
存储 算法 安全
场景应用:id全局唯一且自增,如何实现?
场景应用:id全局唯一且自增,如何实现?
192 0
|
存储 Rust 算法
有关'全局唯一id'
有关'全局唯一id'
78 0
|
存储 算法 安全
全局唯一ID(自增ID、UUID、雪花算法)
一、介绍 系统唯一id是我们在设计阶段常常遇到的问题。在复杂的分布式系统中,几乎都需要对大量的数据和消息进行唯一标识。在设计初期,我们需要考虑日后数据量的级别,如果可能会对数据进行分库分表,那么就需要有一个全局唯一id来标识一条数据或记录。生成唯一id的策略有多种,但是每种策略都有它的适用场景、优点以及局限性。
|
Java 数据库连接 数据库
Mybatis使用generatedKey在插入数据时返回自增id始终为1,自增id实际返回到原对象当中的问题排查...
Mybatis使用generatedKey在插入数据时返回自增id始终为1,自增id实际返回到原对象当中的问题排查...
176 0
|
算法 Java Spring
自定义全局自增ID生成器(上)
自定义全局自增ID生成器
203 0
|
NoSQL Redis
自定义全局自增ID生成器(下)
自定义全局自增ID生成器
237 0
|
Java 数据库连接 mybatis
mybatis学习(28):获取自增id方式二(在全局中配置setting选项)
mybatis学习(28):获取自增id方式二(在全局中配置setting选项)
125 0
mybatis学习(28):获取自增id方式二(在全局中配置setting选项)