美文网首页开发辅助工具
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