[1]概念
iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到。 Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1。这两个值都可以在程序中通过下面的代码获得:
[[[NSBundle mainBundle] infoDictionary] valueForKey:@"key"]
[2]具体实现
代码实现获得应用的Verison号:
[[[NSBudle mainBundle] infoDictionart] objectForkey:@"CFBundleShortVersionString"]
或
[[NSBudle mainBundle] objectForInfoDictionarykey:@"CFBundleVersion"]
获得build号:
今天对Xcode里iOS的版本号又有了新的认识,一个叫做Version,一个叫做Build,这两个值都可以在Xcode中选中target,点击“Summary”后看到。 Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1。这两个值都可以在程序中通过下面的代码获得:
[[[NSBudle mainBundle] infoDictionart] objectForkey:@"CFBundleShortVersionString"]
今天对Xcode里iOS的版本号又有了新的认识,一个叫做Version,一个叫做Build,这两个值都可以在Xcode中选中target,点击“Summary”后看到。 Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1。这两个值都可以在程序中通过下面的代码获得:
##Archive后自动增长build号 除此之外,如果我们想在Archive后build号自动增长,就可以使用到Xcode的run script来实现,步骤是
- 选中项目的target,点击“Build Phases“
- 点击右下角的”Add Build Phrase“,选择”Add run script“,会产生一个新的Run Script项
- 拖拽新生成的Run Script项到最上面
- 点开该项,copy下面的shell代码进去,代码来自这里,如下图所示
if [ $CONFIGURATION == Release ]; then
echo "Bumping build number..."
plist=${PROJECT_DIR}/${INFOPLIST_FILE}
#increment the build number (ie 115 to 116)
buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")
if [[ "${buildnum}" == "" ]]; then
echo "No build number in $plist"
exit 2
fi
buildnum=$(expr $buildnum + 1)
/usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}"
echo "Bumped build number to $buildnum"
else
echo $CONFIGURATION " build - Not bumping build number."
fi
这段shell脚本的意思就是说,如果当前的配置是Release(Archive时该值为Release,直接在模拟器上运行是Debug)
就设置build值为当前build值+1, 否则什么都不干。 这样在build的时候就会看到build号会自动加1的,想看build时输出
的信息,可以通过”View -> Navigators -> Log”来查看最新的build时产生的log。
今天对Xcode里iOS的版本号又有了新的认识,一个叫做Version,一个叫做Build,这两个值都可以在Xcode中选中target,点击“Summary”后看到。 Version在plist文件中的key是“CFBundleShortVersionString”,和AppStore上的版本号保持一致,Build在plist中的key是“CFBundleVersion”,代表build的版本号,该值每次build之后都应该增加1。这两个值都可以在程序中通过下面的代码获得: