更好的Xcode内部版本号

iOS和macOS应用程序具有版本号和内部版本号。 通常,您会在Xcode或iTunes Connect中看到这些代表以下内容:

1.0 (1) 

这是版本号1.0 ,内部版本号1

如您所知,内部版本号用于区分同一版本的不同内部版本,因​​此您可以上传内部版本1 ,然后进行修改,然后上传内部版本2

我过去每次创建构建时都手动增加此构建号,但是该策略存在问题:

  • iTunes Connect将拒绝与先前上传的版本具有相同版本号的版本。 因此,如果您忘记增加内部版本号,则会浪费时间。
  • 有时我不记得是否要增加它,所以最终会做两次
  • 内部版本号对这个特定内部版本没有任何帮助

最后一点是最重要的。 您怎么知道您的构建正确? 质量检查人员可能告诉您他们在版本8上发现了问题…又是哪一个? 或者您要在iTunes Connect上提交您的应用程序,而构建版本为9 –是您刚刚创建的应用程序吗?

最近,我一直在使用时间戳(yyyyMM.dd.HHmm)作为我的内部版本号,如下所示:

 1.0 (201805.15.1407) 

此版本创建于15/05 / 2018,14:07

请注意,内部版本号只能包含三个句号,这就是为什么我将年份和月份放在一起的原因

这有很多好处:

  • 如果质量检查人员想要测试今天构建的更改,他们可以轻松地验证其版本的构建时间是否正确
  • 较新的版本始终具有较高的版本号,并且它是自动化的,因此您不必担心开发人员会犯错误。
  • 如果您将一个版本上载到iTunes Connect,然后第二天将另一个版本进行了一些更改,则很明显哪个是哪个!

使用Xcode的构建阶段中的“运行脚本阶段”和以下脚本,这很容易实现:

 ## Generate the build number using current date and time 
buildNumber=$(date "+%Y%m.%d.%H%M")
 ## Set the build number in plist file 
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"

想法/评论/投诉/想聊天吗? 通知我。