iTunes Connect的内部版本号重置
iTunes的同时需要版本号(CFBundleShortVersionString)和版本号(CFBundleVersion),以使更新到应用程式以递增。 我的问题是,当我增加版本号时,套件版本值是否会重置? 例如,如果我从当前商店的版本2.2.1(内部版本号9.5)更新至版本2.3.0(内部版本号1.0),是否允许这样做?或者版本号必须> = 9.6?内部编号的约定是什么? 版本号和内部版本号之间是否存在这种关系?对我来说,跟踪之前版本中的旧版本号是没有意义的。iTunes Connect的内部版本号重置
构建号实际上对用户不可见,所以实际上并不重要。苹果公司希望你增加它,所以只需要在那里输入一个数字;)通常使用的内部数字是跟踪你的内部“编号”。很多人使用自动构建增量器,但更复杂的公司明确地管理它。
由于您似乎并不关心内部版本号,所以您可以使用自动脚本并且不要再看它。我使用这个脚本:
#!/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"
复制的代码粘贴到你的文件系统,你将永远不会删除它(或您的项目目录)在” .sh'-扩展名的文件,然后转到您的Xcode项目,在左侧选择你的项目名称(打开项目设置),点击构建目标,进入“构建阶段”。然后键入一个新的构建阶段“运行脚本”
对于“壳牌”插入/bin/sh
并在下面插入代码行
#/bin/sh
/Users/..PutThePathToTheScriptYouSavedAboveHere.sh "${PROJECT_DIR}/${INFOPLIST_FILE}"
我使用的建设使用X.XX.XXXXX将脚本版本只是增加最后一个数字。
在iOS中,只要您更新版本号(CFBundleShortVersionString
),就可以重置内部版本号(CFBundleVersion
)。
这是你需要在你的Xcode项目中做的事情。版本号或内部版本号不会自动重设。
Apple Technical Note TN2420, Version Numbers and Build Numbers
的iOS:
对于iOS应用,内部版本号必须是每一个版本列车内是唯一的,但他们并不需要在不同的版本系列独特。也就是说,对于iOS应用程序,如果需要,可以在不同的发行版中使用相同的内部版本号。
的Mac OS:
然而,适用于MacOS应用程序,内部版本号必须甚至是不同版本的单调递增。换句话说,对于macOS应用程序,您不能在不同的发行版中使用相同的内部版本号。
这实际上并不回答第一个问题:“当增加版本号时,套件版本值是否会被重置? – havak5 2016-11-04 18:17:43