IOS工程Build自增+1

1.首先我们要建立一个 脚本 Run Script (选中Target–>Build Phases –> +) 

 

2.点击后会生成一个空的Run Script 

 

3.把下面的代码贴到输入台中,代码我就不解释了

# Type a script or drag a script file from your workspace to insert its path.

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

 

shell脚本中的第一行是一个判断如果 configuration == Release 就往下执行,其中configuration 的值有两个Release 、Debug 

4.这个时候你还可以给这个Run Script 双击改个名字,一个有意义的名字很重要

 

5.这个时候你可以试着打包一下,将调试模拟器改为真机占位(这里写图片描述),选择菜单Product–>Archive进

行打包,完成之后回到General中再看build值已经加1了,那么恭喜你已经成功了。

 

6.如果没加1 怎么办呢,我们选择菜单View–>Navigators–>Show Report Navigator

可以看到下面的界面(界面截的不好变形了)

可以看到左边是每次的编译记录,右边的详情,大家可以看下,有黄色叹号的都是可能有问题或者已经有问题的,如果有代码洁癖的应该好好研究下这里,找到我们要的 Run Script ,这里我们可以在右上角的Filter里面输入 Bumping build number...  我们的Run Script 如果运行了一定会打印这个语句的,别问为啥。很幸运确实有。

 

7.点击右边的展开按钮,往下找我们会发现如下的日志:

Bumping build number...

Print: Entry, "CFBundleVersion", Does Not Exist

expr: syntax error

Set: Entry, "CFBundleVersion", Does Not Exist

File Doesn't Exist, Will Create: /Users/songjunlin/Downloads/sourcetree/ios_patient//Users/songjunlin/Downloads/sourcetree/ios_patient/Patient/Info.plist

Bumped build number to

发现确实有错误说我们的这个info.plist 没找到,那自然就不能加1了,这个解释很合理,这个即将创建的文件的路径也有点怪

 

8.既然是info.plist 文件有问题,就看这个文件的配置就好了

其实这个路径并没有错误要不然编译会有问题,我猜想只是这个路径我们的脚本认不出来应该和这个写法有关系 "${plist}",改成如下图的样式就可以了

在编译下build就会自增+1了

 

9.还有就是如果你的工程有和我一样的

那么为了主工程和service的Build一致,可以在service重复上面的就可以了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值