2014-09-04 118 views
4

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

回答

0

构建号实际上对用户不可见,所以实际上并不重要。苹果公司希望你增加它,所以只需要在那里输入一个数字;)通常使用的内部数字是跟踪你的内部“编号”。很多人使用自动构建增量器,但更复杂的公司明确地管理它。

由于您似乎并不关心内部版本号,所以您可以使用自动脚本并且不要再看它。我使用这个脚本:

#!/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将脚本版本只是增加最后一个数字。

+1

这实际上并不回答第一个问题:“当增加版本号时,套件版本值是否会被重置? – havak5 2016-11-04 18:17:43

0

在iOS中,只要您更新版本号(CFBundleShortVersionString),就可以重置内部版本号(CFBundleVersion)。

这是需要在你的Xcode项目中做的事情。版本号或内部版本号不会自动重设

Apple Technical Note TN2420, Version Numbers and Build Numbers

的iOS:

对于iOS应用,内部版本号必须是每一个版本列车内是唯一的,但他们并不需要在不同的版本系列独特。也就是说,对于iOS应用程序,如果需要,可以在不同的发行版中使用相同的内部版本号

的Mac OS:

然而,适用于MacOS应用程序,内部版本号必须甚至是不同版本的单调递增。换句话说,对于macOS应用程序,您不能在不同的发行版中使用相同的内部版本号