iOS 项目中的version和build 详解
iOS项目中的version和build
Version在plist文件中的key是“CFBundleShortVersionString”,标识应用程序的发布版本号,和AppStore上的版本号保持一致。该版本的版本号是三个分隔的整数组成的字符串。第一个整数代表重大修改的版本,如实现新的功能或重大变化的修订。第二个整数表示的修订,实现较突出的特点。第三个整数代表维护版本
Build在plist文件中的key是“CFBundleVersion”,标示(发布或者未发布)的内部版本号。这是一个单调增加的字符串,包括一个或者多个分割的整数。
以上两个版本号可以通过以下方式获得:
NSDictionary*infoDictionary=[[NSBundlemainBundle]infoDictionary]; //app版本 NSString*app_Version=[infoDictionaryobjectForKey:@"CFBundleShortVersionString"]; //appbuild版本 NSString*app_build=[infoDictionaryobjectForKey:@"CFBundleVersion"];
编写脚本使Archive后自动增长build版本号
如果我们想在Archive后build号自动增长,就可以使用到Xcode的runscript来实现,步骤是
- 选中项目的target,点击“BuildPhases“
- 点击右下角的”AddBuildPhrase“,选择”Addrunscript“,会产生一个新的RunScript项
- 拖拽新生成的RunScript项到最上面
- 点开该项,copy下面的shell代码进去,代码来自这里,如下图所示
if[$CONFIGURATION==Release];then echo"Bumpingbuildnumber..." plist=${PROJECT_DIR}/${INFOPLIST_FILE} #incrementthebuildnumber(ie115to116) buildnum=$(/usr/libexec/PlistBuddy-c"PrintCFBundleVersion""${plist}") if[["${buildnum}"==""]];then echo"Nobuildnumberin$plist" exit2 fi buildnum=$(expr$buildnum+1) /usr/libexec/Plistbuddy-c"SetCFBundleVersion$buildnum""${plist}" echo"Bumpedbuildnumberto$buildnum" else echo$CONFIGURATION"build-Notbumpingbuildnumber." fi
这段shell脚本的意思就是说,如果当前的配置是Release(Archive时该值为Release,直接在模拟器上运行是Debug),就设置build值为当前build值+1,否则什么都不干。
这样在build的时候就会看到build号会自动加1的,想看build时输出的信息,可以通过”View->Navigators->Log”来查看最新的build时产生的log。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!