让Xcode自动更新Build版本

简介: 我们每天都要打包给测试,每天都要改Build比较麻烦,幸运的是可以通过Shell脚本来省略这个过程。在Xcode工程里选择对应的Target,在Build Phases里点击“New Run Script Phases”:在下面的窗口中写入类似于...
我们每天都要打包给测试,每天都要改Build比较麻烦,幸运的是可以通过Shell脚本来省略这个过程。

在Xcode工程里选择对应的Target,在Build Phases里点击“New Run Script Phases”:


在下面的窗口中写入类似于如下脚本:

buildNumber=$(/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" "${PROJECT_DIR}/${INFOPLIST_FILE}")
shortVersion=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" "${PROJECT_DIR}/${INFOPLIST_FILE}")

buildNumber=`date +"%m%d"`
buildNumber="$shortVersion.$buildNumber"

/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${PROJECT_DIR}/${INFOPLIST_FILE}"
前两行是将工程当前的Build、Version读取出来。

我的情况是基于Version加上日期以形成Build,如下:


关于date的格式化,传送门

如果Build是一个整形,可以这样做递增:

buildNumber=$(($buildNumber + 1))

如果要Build是类似于这样的字符串:1.0.0,可以用awf命令取值,参考:http://stackoverflow.com/questions/9258344/better-way-of-incrementing-build-number

如果仅仅只想在Release(如Archive等)的时候更新Build,可以尝试加入判断:

if [ "${CONFIGURATION}" = "Release" ]; then

fi


目录
相关文章
|
2月前
|
缓存 iOS开发
如何在Xcode删除某个版本的IOS模拟器
如何在Xcode删除某个版本的IOS模拟器
359 1
|
5月前
|
Linux 数据安全/隐私保护 iOS开发
Xcode8.1如何支持iOS8.0以下版本
Xcode8.1如何支持iOS8.0以下版本
40 0
|
5月前
|
Java 定位技术 语音技术
如何处理 Xcode 上传 IPA 文件后无法在后台架构版本中显示的问题?
如何处理 Xcode 上传 IPA 文件后无法在后台架构版本中显示的问题?
|
开发工具 开发者 iOS开发
​ 如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
1、ipa包符合要求,显示正在处理,这种就是成功上传,等待处理即可(根据包大小,一般处理几分钟到一两个钟都有可能) 2、ipa不符合要求,没有出现正在处理,或者刷新页面正在处理的版本消失 出现这种情况说明你上传的这个ipa包有问题,苹果会发送具体原因到邮箱(开发者账号就是邮箱地址,) 登录邮箱去查看反馈邮件(反馈邮件也可能在垃圾箱),修改错误重新再打包上传。
​  如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
|
Java 定位技术 语音技术
如何处理 Xcode 上传 IPA 文件后无法在后台架构版本中显示的问题?
AU 上传 ipa 出现下图红框提示说明成功上传,但有时 App Store 后台没有出现构建版本,请查看下面详细说明!
|
Java 定位技术 语音技术
​如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
​如何处理Xcode上传IPA文件后无法在后台架构版本中显示的问题?
|
iOS开发
Xcode更改Build输出路径
Xcode更改Build输出路径
267 0
Xcode更改Build输出路径
|
iOS开发
MAC上使用不同版本的xcode编译
MAC上使用不同版本的xcode编译
92 0
|
Oracle Java 关系型数据库
MAC编译OpenJDK8(含202-242)的Xcode版本问题
MAC编译OpenJDK8(含202-242)的Xcode版本问题
84 0
|
Java iOS开发
Mac编译OpenJDK8:configure: error: Xcode 4 is required to build JDK 8, the version found was 10.1config
Mac编译OpenJDK8:configure: error: Xcode 4 is required to build JDK 8, the version found was 10.1config
130 0