上传新版本时我应该删除内部版本号吗?

时间:2017-12-15 10:41:50

标签: ios xcode

例如,如果我有一个版本为1.0的应用程序,它有30个版本(版本30已上传到App Store)。

当我发布版本1.0.1时,我应该将内部版本号擦除为1吗?或者它应该是31?

应该是1.0.1 (1)还是1.0.1 (31)

谢谢

4 个答案:

答案 0 :(得分:6)

从技术上讲,对于iOS应用程序,内部版本号可以从0(或1)开始。对于不允许的Mac应用程序。你应该这样做是另一个问题。

约定是在版本号更改后,内部版本号总是递增。

请参阅Apple对此的描述: https://developer.apple.com/library/content/technotes/tn2420/_index.html

答案 1 :(得分:3)

来自ios docs

  

对于您提交的每个新构建,您将需要发明一个新的构建号,其值大于您使用的最后一个构建号(对于同一版本)。对于iOS应用程序,您可以在提交不同版本时重复使用内部版本号。对于macOS应用程序,您必须为每个提交内容选择一个新的内部版本号,该内容是唯一的,之前从未在您提供给App Store的任何提交中使用过(包括以前版本的应用程序中使用的内部版本号)。

所以你可以使用1.0.1 (1)1.0.1(31)但我真的更喜欢后来的一个。我不记得在开发过程中记住版本号,我们总是在团队中引用构建版本。我们的构建版本总是比以前的构建版本更大。

你可以问为什么我们这样做?答案是因为它看起来在逻辑上适合我们,并且android版本化也遵循同样的事情

来自android docs

  

versionCode - 用作内部版本号的整数。此数字仅用于确定一个版本是否比另一个版本更新,更高的数字表示更新的版本。这不是向用户显示的版本号;该号码由versionName设置设置,如下所示。 Android系统使用versionCode值来防止用户安装版本低于其设备上当前安装版本的APK。

答案 2 :(得分:1)

对于iOS应用版本,版本将包含1.2.3,1是主要版本,2是次要版本,3是错误修复。对于每个构建版本,我们可以从任何数字开始尽可能多的构建。根据版本标准,只要版本增加,构建版本总是增加,我们就会从1开始。

答案 3 :(得分:0)

正如其他人所说,您不应重置新版本的内部版本号。

我经常使用的方法是将脚本添加到目标的构建阶段。这样,构建号不断更新,无需人工干预。

在我的情况下,我将构建号基于Git提交的数量,但您可以改变它以满足您的需求。

REV=`git rev-list HEAD | wc -l`
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $REV" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"