您当前的位置: 首页 >  unity

十幺卜入

暂无认证

  • 3浏览

    0关注

    119博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Unity3d C#实现打包自动更新软件版本号且UGUI同步显示功能

十幺卜入 发布时间:2022-02-16 14:04:35 ,浏览量:3

前言

如题的功能可以实现免去每次打包得手动更新版本号的痛点,只需要正常进行打包流程即可实现版本号的自动升级。

效果

效果如图: 在这里插入图片描述

思路

我们假定软件中版本号按“Ver.yyyy/MM/dd-01”格式进行升级,Ver.为固定的显示文字,yyyy/MM/dd是版本发布的日期(日期版本号),-01是数字版本号(同一天的多次打包会依次+1)。每次打包前先对该版本号进行解析,如果是同一日期则升级数字版本号,不然会更新日期版本号。更新完日期直接设置在bundleVersion。程序运行时显示版本号的Text进行读取并展示。 流程图:

在这里插入图片描述

实现

我们新建一个空工程,利用UnityEditor.Build;和UnityEditor.Build.Reporting;中的打包前接口OnPreprocessBuild实现版本号自动升级功能。作者的功能在== Unity3d 2020。3.12f1c1==实现。

搭建UI

测试场景只需要用的Text: 在这里插入图片描述

版本号自动升级

该功能就是在OnPreprocessBuild函数中升级版本号。:

   string GetVerNum(string str)
   {
       if (!string.IsNullOrEmpty(str))
       {
           string[] arr = str.Split('-');
           if (arr.Length > 1 && "Ver."+DateTime.Now.ToString(VerDateFm) == arr[0])
           {
               int num;
               if (int.TryParse(arr[1], out num))
                   return "Ver." + DateTime.Now.ToString(VerDateFm) + "-" +
                       (((num + 1)            
关注
打赏
1663314737
查看更多评论
0.1382s