Auto-incrementing Build Numbers in Xcode

Paste_Image.png

在开发过程中或者是在测试过程中会发现应用程序出现BUG并且修复了它,但是在更新版本的时候往往会使用了错误的build版本号,但又不想每次修改BUG后又要顾及build版本号的修改,于是就有了下面的方法可以简单的实现自动增加(修改)build版本号。

具体方法是:
Project->Targets->Build Phases-> New Run Script Phase,然后在脚本代码框中写入以下的脚本代码。

buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $(PRODUCT_DIR)/Info.plist)
buildNumber=$(($buildNumber + 1))  
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" $(PRODUCT_DIR)/Info.plist
Paste_Image.png

注意:上方的脚本代码中,总共是三行代码,其中第二行和第三行的代码之间有很大的坑在这里要重要说明一下,不然你无论怎么编译和运行程序,info.plist文件的CFBundleVersion的版本号都不会自动的增加。
解决的办法是:
在上述的第二行和第三行的代码中,是在英文状态下的空格再进行回车换行。

20171228 update

image.png
image.png
#! Auto Increment Version Script
#! 在Info.plist文件中自定义 CFBundleBuildDate 和 CFBundleBuildNumber
#! /bin/bash
infoPlist="${INFOPLIST_FILE}"
#! GET CFBundleBuildNumber value
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleBuildNumber" ${infoPlist})
#! CFBundleBuildNumber + 1
buildNumber=$((${buildNumber} + 1))
#! SET CFBundleBuildNumber on Info.plist
/usr/libexec/PlistBuddy -c "Set :CFBundleBuildNumber ${buildNumber}" ${infoPlist}
#! GET CFBundleShortVersionString
shortVersion=$(/usr/libexec/PlistBuddy -c "Print :CFBundleShortVersionString" ${infoPlist})
#! Composes the buildNumber as CFBundleVersion
buildNumber="${shortVersion}.${buildNumber}"
#! SET CFBundleVersion
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion ${buildNumber}" ${infoPlist}
#! GET date string
buildDate="$(date +%Y.%m.%d.%H:%M:%S)"
#! SET CFBundleBuildDate
/usr/libexec/PlistBuddy -c "Set :CFBundleBuildDate ${buildDate}" ${infoPlist}

update 2019.10.31

1.先添加一个 Run Script Phase, 复制内容```xcrun agvtool next-version -all```到内容区。
2.设置Curren Project Version为任意数字(建议大于0)
3.Versioning System 选择为 Apple Generic
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,458评论 25 709
  • 在移动应用开发和运营的过程中,版本管理是一个老生常谈的基础问题,一些版本的基本概念也常常会困扰我们的研发和运营人员...
    小白不是总阅读 12,331评论 9 61
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,732评论 4 61
  • 2、角度。 不同的拍摄角度与构图相互影响,展示不同的画面风格和效果。 2.1、仰角。突出被摄主体的高、长、宏伟。 ...
    大笨熊来了阅读 3,056评论 0 8
  • 新绿误红妆, 叶闹满嘲葬。 苦屹迎风雨, 俯笑仰颜伤。
    水硬阅读 3,003评论 4 4

友情链接更多精彩内容