前言
如题的功能可以实现免去每次打包得手动更新版本号的痛点,只需要正常进行打包流程即可实现版本号的自动升级。
效果效果如图:
我们假定软件中版本号按“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)
关注
打赏
热门博文
- Unity3d 插件着色器(Shader)报错Too many texture interpolators...和‘vert‘: output parameter ‘o‘ not ...修复记录
- Unity3d C# 网址url未转义问题(https%3A%2F%2F => https://)网址无法打开问题 URL is missing a protocol e.g. http://...
- Unity3d C# 使用Universal Media Player(ump)插件播放视频的众坑之无法播放视频和VLC播放器依赖的问题
- 软考高级软件架构风格定义以及分类
- Unity 使用NVIDIA FleX for Unity插件实现制作软体、水流流体、布料等效果学习教程
- Unity3d 使用统一可寻址资产系统(Addressables)实现服务器资源热更新和资源版本管理等功能(含源码)
- Unity3d minigame-unity-webgl-transform插件转换微信小游戏报错To use dlopen, you need to use Emscripten‘s...问题
- Unity 利用Skybox Panoramic着色器制作全景图预览有条缝隙问题解决办法
- Unity3d C# 开发微信小游戏分享图片、朋友圈等功能实现(含源码)
- Unity3d Windows播放视频(视频流)功能组/插件支持对比