美文网首页开发辅助工具
Xcode使用agvtool更新Version和BuildNum

Xcode使用agvtool更新Version和BuildNum

作者: 喔牛慢慢爬 | 来源:发表于2021-11-09 16:32 被阅读0次

1、启用agvtool

  • 设置Current Project Version(当前项目版本号)

    你的Xcode项目数据文件project中包含一个CURRENT_PROJECT_VERSION(当前项目版本)构建设置,它指定项目的当前版本。agvtool在project文件中搜索CURRENT_PROJECT_VERSION配置字段,并更新此字段的值。注意:当前项目版本必须为整数或浮点数,如1.6.0。如果您正在处理一个新项目,则应该将此设置设置为1。

  • 设置Versioning SystemApple Generic

    默认情况下,Xcode不使用任何版本控制系统。将Versioning System设置为Apple Generic确保Xcode将包括项目中所有agvtool生成的版本信息。

10

2、设置version和build numbers

agvtool将搜索你的App的Info.plist文件中的versionbuild number,如果存在则进行更新其值。否则。确保CFBundleVersion(Bundle version)和CFBundleShortVersionString(Bundle versions string, short)键在你的信息中存在。

11

$(CURRENT_PROJECT_VERSION):表示使用build Setting中的Versioning中的current project version的值;

$(MARKETING_VERSION):表示使用build Setting中的Versioning中的Marketing Version的值;

3、使用agvtool的命令行

  • 更新Version Number的命令:

    agvtool new-marketing-version <新版本号>
    

    终端运行:

    $ agvtool new-marketing-version 1.2.0
    //结果
    Setting CFBundleShortVersionString of project LPanGestureDemo to: 
        1.2.0.
    
    Updating CFBundleShortVersionString in Info.plist(s)...
    
    Updated CFBundleShortVersionString in "LPanGestureDemo.xcodeproj/../LPanGestureDemo/Info.plist" to 1.2.0
    
    

    注意:作者使用的是Xcode13,使用agvtool时只可以修改info.plist的中的Bundle version string (short)的值,一般其默认值为$(MARKETING_VERSION)。如果不用agvtool命令更新,开发者可以在buildSetting中的Versioning中的Marketing Version的值来统一修改项目中的Version Number

  • 更新Build NUmber的命令:

    1. 运行下面的命令可以自动的增加build number

      agvtool next-version -all
      

      终端运行:

      $ agvtool next-version -all
      Setting version of project LPanGestureDemo to: 
          2.
      
      Also setting CFBundleVersion key (assuming it exists)
      
      Updating CFBundleVersion in Info.plist(s)...
      
      Updated CFBundleVersion in "LPanGestureDemo.xcodeproj/../LPanGestureDemo/Info.plist" to 2
      
    2. 指定设置build number号

      agvtool new-version -all <指定的build number>
      

      终端运行:

      $ agvtool new-version -all 10
      Setting version of project LPanGestureDemo to: 
          10.
      
      Also setting CFBundleVersion key (assuming it exists)
      
      Updating CFBundleVersion in Info.plist(s)...
      
      Updated CFBundleVersion in "LPanGestureDemo.xcodeproj/../LPanGestureDemo/Info.plist" to 10
      
    3. 查询build number

      agvtool what-version
      

      终端运行:

      $ agvtool what-version
      Current version of project MyProject is:
          2.2
      

参考文献

相关文章

网友评论

    本文标题:Xcode使用agvtool更新Version和BuildNum

    本文链接:https://www.haomeiwen.com/subject/prtvzltx.html