iOS 项目中的version和build 详解

 更新时间:2016年11月10日 16:15:55   作者:skyYangpan  
这篇文章主要介绍了iOS 项目中的version和build 详解的相关资料,需要的朋友可以参考下

iOS 项目中的version和build

Version在plist文件中的key是“CFBundleShortVersionString”,标识应用程序的发布版本号,和AppStore上的版本号保持一致。该版本的版本号是三个分隔的整数组成的字符串。第一个整数代表重大修改的版本,如实现新的功能或重大变化的修订。第二个整数表示的修订,实现较突出的特点。第三个整数代表维护版本

Build在plist文件中的key是“CFBundleVersion”,标示(发布或者未发布)的内部版本号。这是一个单调增加的字符串,包括一个或者多个分割的整数。

以上两个版本号可以通过以下方式获得:

NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; 
  
// app版本 
NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; 
  
// app build版本 
NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"]; 

编写脚本使Archive后自动增长build版本号

如果我们想在Archive后build号自动增长,就可以使用到Xcode的run script来实现,步骤是

  1. 选中项目的target,点击“Build Phases“
  2. 点击右下角的”Add Build Phrase“,选择”Add run script“,会产生一个新的Run Script项
  3. 拖拽新生成的Run Script项到最上面
  4. 点开该项,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。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • iOS中震动反馈(UIFeedbackGenerator)与系统震动详解

    iOS中震动反馈(UIFeedbackGenerator)与系统震动详解

    最近要做一个项目,需要持续响铃并振动,所以就有了这篇文章,下面这篇文章主要给大家介绍了关于iOS中震动反馈(UIFeedbackGenerator)与系统震动的相关资料,需要的朋友可以参考下
    2018-08-08
  • IOS 中 new 和 alloc init 的对比

    IOS 中 new 和 alloc init 的对比

    这篇文章主要介绍了IOS 中 new 和 alloc init 的区别的相关资料,需要的朋友可以参考下
    2017-02-02
  • IOS UIView的生命周期的实例详解

    IOS UIView的生命周期的实例详解

    这篇文章主要介绍了IOS UIView的生命周期的实例详解的相关资料,希望通过本文大家能掌握理解这部分内容,需要的朋友可以参考下
    2017-09-09
  • iOS UITextField 显示银行卡格式的方法

    iOS UITextField 显示银行卡格式的方法

    下面小编就为大家分享一篇iOS UITextField 显示银行卡格式的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • iOS用AutoLayout实现分页滚动功能

    iOS用AutoLayout实现分页滚动功能

    这篇文章主要给大家介绍了关于iOS用AutoLayout实现分页滚动功能的相关资料,文中通过示例代码介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • IOS 开发状态栏隐藏的实现办法

    IOS 开发状态栏隐藏的实现办法

    这篇文章主要介绍了IOS 开发状态栏隐藏的实现办法的相关资料,需要的朋友可以参考下
    2017-02-02
  • iOS Remote Notification远程消息推送处理

    iOS Remote Notification远程消息推送处理

    这篇文章主要为大家详细介绍了iOS Remote Notification远程消息推送处理,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • 详解iOS 实现一对多代理方案

    详解iOS 实现一对多代理方案

    本文主要介绍了iOS 实现一对多代理方案,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • iOS中无限循环滚动简单处理实现原理分析

    iOS中无限循环滚动简单处理实现原理分析

    这篇文章主要介绍了iOS中无限循环滚动简单处理实现原理分析,需要的朋友可以参考下
    2017-12-12
  • iOS下一键调试Push的方法详解

    iOS下一键调试Push的方法详解

    这篇文章主要给大家介绍了关于iOS下如何一键调试Push的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-03-03

最新评论