iTunes Connect内部版本号重置

Ast*_*ing 5 xcode itunes ios

Itunes需要递增版本号(CFBundleShortVersionString)内部版本号(CFBundleVersion)才能更新应用程序.我的问题是,当我增加版本号时,是否会重置Bundle版本值?例如,如果我从当前商店的2.2.1版(Build Number 9.5)更新到版本2.3.0(Build Number 1.0),是否允许这样做?或者Build编号必须> = 9.6?Build号的约定是什么?版本号和内部版本号之间是否存在这种关系?跟踪上一版本中的旧Build版本对我来说没有意义.

pka*_*amb 7

在 iOS 中,但不是 macOS,您可以在CFBundleVersion更新版本号 ( CFBundleShortVersionString)时随时重置内部版本号 ( )。

这是需要在 Xcode 项目中执行的操作。版本号或内部版本号永远不会自动重置。

Apple 技术说明 TN2420,版本号和内部版本号

IOS:

对于 iOS 应用程序,内部版本号在每个版本系列中必须是唯一的,但它们在不同版本系列中不需要是唯一的。也就是说,对于 iOS 应用程序,如果您愿意,您可以在不同的版本系列中再次使用相同的内部版本号

苹果系统:

但是,对于 macOS 应用程序,即使在不同版本之间,内部版本号也必须单调增加。换句话说,对于 macOS 应用程序,您不能在不同的版本系列中再次使用相同的内部版本号


Nil*_*ehn 0

内部版本号实际上对用户来说是不可见的,因此您在其中放置的内容实际上并不重要。Apple 希望您增加它,因此只需在其中输入更高的数字即可;)构建编号通常用于跟踪您所做的内部构建“数量”。许多人为此使用自动构建增量器,但更成熟的公司会明确管理它。

由于您似乎并不关心内部版本号,因此您可以只使用自动脚本,而不再查看它。我使用这个脚本:

#!/bin/sh
plist="$1"
dir="$(dirname "$plist")"
buildnum=$(/usr/libexec/Plistbuddy -c "Print CFBundleVersion" "$plist")

IFS="."
save=""
out=""
for i in $buildnum
do 
out=$out$save
save="$i."
done
A=($save)
save=${A[0]}
save=`expr $save + 1`
save=$(printf "%05d" $save)
out=$out$save
IFS="ABVVVV"
buildnum=$out
/usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "$plist"
Run Code Online (Sandbox Code Playgroud)

将代码复制粘贴到文件系统上带有“.sh”扩展名的文件中,您永远不会删除它(或粘贴到您的项目目录中),然后转到您的 xcode 项目,在左侧选择您的项目名称(打开项目设置)单击构建目标,转到“构建阶段”。然后是“运行脚本”类型的新构建阶段

对于“Shell”插入/bin/sh 并在下面的代码行中插入

#/bin/sh
/Users/..PutThePathToTheScriptYouSavedAboveHere.sh "${PROJECT_DIR}/${INFOPLIST_FILE}"
Run Code Online (Sandbox Code Playgroud)

我正在使用使用 X.XX.XXXXX 的构建版本,脚本只会增加最后一个数字。