在App的图标上显示版本信息的脚本

Mac(九)隐藏 Dock 栏中特定 App 图标 阅读详情

由于公司的项目比较多,而且总更新不同的版本,测试人员有的时候会拿来一个不知n月前安装的App告诉你,这个App有问题,然后这个问题你会发现是早就修改过的,但是测试者不知你App的具体信息,你也不知是什么时候给安装过的。因此就想到了这个方法,把程序的信息直接放到了App的图标上,让测试人员和你都能快速定位问题,我是把版本号,SVN上对应代码的版本,打包的时间显示在图标上了(这个根据自己的情况来显示,你就放你的名字都是可以的),只是用来内部测试使用。

实现的效果图:

下边介绍下整个安装流程:

实现上边效果需要执行一个脚本,在ios中使用脚本真的很方便,最近已经迷上用脚本做一些事情了,比如打包项目、显示SVN版本号到Build中、清除项目中的没有使用的图片等等等。

首先需要在Xcode中Target的Build Phases中,添加一个Run Script的Build Phase来执行一些脚本做一些操作,这里的脚本会在每次build的时候执行,然后我们就可以通过脚本给App图标添加版本信息了。


编辑Shell 把脚本的位置放上就可以了


在这里再说下怎么在iOS中使用Shell语句吧

你可以先输入echo "Hello World" (第一个想起的就是输出这个) 


然后Command + B 构建工程,可以通过下边的方式或者快捷键Command + 8 查看构建日志,测试脚本已经成功执行。


 输出的结果



下边就开始将版本信息填充到App 图标上

将版本信息填充到图标上,这里需要安装2个工具:ImageMagick和ghostscript,ImageMagicK的convert命令可以将文字写到图片上。

步骤1:下载XQuartz-2.7.11.dmg
下载地址: https://www.xquartz.org/  

步骤2:安装homebrew (我理解 就相当于AppStore)
shell中执行如下命令 
/usr/bin/ruby -e “$(curl -fsSL  https://raw.githubusercontent.com/Homebrew/install/master/install )” 

步骤3:执行命令

brew install imagemagick

imagemagick已经成功安装。 

homebrew方式安装的imagemagick路径默认在/usr/local/Cellar路径下

步骤4:安装ghostscript

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
brew install ghostscript

ghostscript已经成功安装。 

至此,安装完毕 ,现在开始讲解下脚本中的配置

根据自己图标的位置来修改对应地址(icons_path指现地址 icons_dest_path指生成后的地址)


显示的内容  我这里是根据需要进行修改的  这块可以根据自己的需要来修改



caption="version:${version}\build:${build_num}\ntime:${Timer}"


以上就是按照和使用的方式,在运行成功之后 会生成一个新图标的类 进行选择再次运行就可以了



MFC开发实战:如何通过.rc文件自定义EXE图标和版本信息(附VS2022操作截图) 本文详细介绍了在MFC开发中如何通过.rc文件自定义EXE图标和版本信息,包括图标替换、版本信息添加及高级配置技巧。通过Visual Studio 2022操作截图,帮助开发者快速掌握资源文件管理,提升应用程序的专业性和用户体验。 阅读详情

相关推荐

uni-app tabBar图标不显示的根源与系统性解决方案

tabBar图标是移动端应用导航的核心视觉元素,其加载依赖原生渲染机制而非Web视图,本质属于跨平台资源加载与配置协同问题。原理上需同时满足路径合法性、图片尺寸格式规范(如81×81px PNG)、平台特异性约束(iOS/Android/小程序差异)三重校验。技术价值在于保障UI一致性与用户体验稳定性,避免因静默失败导致导航功能降级。典型应用场景涵盖uni-app多端项目开发、App云打包、小程序上线前验证及CI/CD自动化构建流程。本文聚焦于原生级tabBar图标失效这一高频工程问题,深入解析pages.

dichengyan0013的博客 450

配置文件App.config 生成和调用的两种方式

方式一: App.config //app.config <?xml version="1.0" encoding="utf-8"?> <configuration> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup> <appSettings> <add key="IsDispl.

ghhong1988的专栏 2439

uni-app tabBar图标不显示的根因与跨平台解决方案

tabBar图标加载是移动端多端框架中的基础渲染能力,其本质是静态资源在编译期、打包期和运行期的跨平台路径解析与原生引擎适配过程。理解图标不显示问题,需从资源路径规范、PNG格式约束(RGB无Alpha、81×81尺寸、≤40KB)、平台差异(iOS安全区/安卓大小写敏感/小程序static目录限制)等底层原理切入。该能力直接影响App启动体验、用户导航效率与多端一致性,广泛应用于金融、政务、电商类uni-app项目。本文聚焦uni-app中tabBar图标失效的真实链路,覆盖路径配置、文件合规性、真机调试

weixin_33713350的博客 443

C# app.config的配置方法及使用技巧

1.app.config配置文件 应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。 也是可以按需要更改的,对于一些在程序中需要使用的链接,地址,等常量,开发人员可以使用配置文件来设置,后期只用更改配置文件中的配置,而不必重编译应用程序。 配置文件的根节点是configuration。我们经常访问的是appSettings,它是由.Net预定义配置节,“配置节”可以理解为进...

MelanceXin的博客 4万+

股票分时数据获取-东方财富

获取下股票分时数据,分时均价下线,分时成交额等,用于量化t0交易条件还是很不错了的。

meiaoxue1234的博客 1万+

一文搞定 GitHub SSH Key:生成、配置、好处全攻略

本文详细介绍了如何配置GitHub SSH Key,实现免密安全认证。主要内容包括:SSH协议的四大优势(免密登录、安全性高、稳定省心、支持自动化);Git身份配置步骤;检查本地SSH Key;生成RSA密钥对;添加密钥到SSH代理;复制公钥到GitHub;测试连接。配置完成后,开发者可通过SSH地址克隆仓库,实现push/pull全程免密操作。该方案显著提升Git使用效率,同时保障安全性,是开发者必备技能。

qq_62904883的博客 958

app.config文件配置与调用

<connectionStrings> <!-- sqlserver身份认证 <add name="messsqlserver" connectionString="Data Source=127.0.0.1;Initial Catalog=myDataBase;User ID=myUsername;Password=myPasswordInte...

qq_31586193的博客 1550

别再乱点U盘里的.exe了!手把手教你清除‘Usb Disk.exe’病毒并恢复隐藏文件

本文详细介绍了如何识别和清除U盘病毒(如Usb Disk.exe),并提供从终止病毒进程到恢复隐藏文件的完整步骤。通过禁用自动播放、清理注册表和使用命令行工具,帮助用户彻底清除病毒并预防未来感染,确保数据安全。

weixin_42530732的博客 594

Config-Client配置项的客户端

1、pom.xml &lt;properties&gt; &lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt; &lt;project.reporting.outputEncoding&gt;UTF-8&lt;/project.reporting.o...

南巷清风 3468

揭秘Coze图生图隐藏玩法:用Excel批量生成100+电商主图(扣子插件进阶教程)

本文深入解析了如何利用Coze(扣子)的图像生成插件实现电商主图的批量自动化生产。通过将Excel数据源、参数化提示词模板与参考图风格相结合,构建了一套高效的企业级解决方案,能够快速为海量SKU生成风格统一的高质量图片,大幅提升电商运营效率。

theta的博客 433

(五)深入理解Bluez协议栈之“GATT Server Profile”

上一篇介绍Bluez协议栈的了GAP Profile的实现,本章节我们继续介绍GATT Profile的实现,参考的程序是Peripheral。通过阅读它的实现代码可以发现,它广播部分是通过mgmt来实现的,然后在初始化完成之后,创建了一个L2CAP类型的socket,来负责实现GATT Server的逻辑。

1142

App.Config配置文件说明

前言   在项目中,为了使代码更加灵活,更加方便调整,我们都在config中添加许多配置信息,一般可以选择.NET自带的配置文件形式app.config或者web项目中的web.config来完成配置工作。 在项目中添加配置文件   在WindowsForm应用中,我们可以在新建的WindowsForm应用上右击——添加——新建项——应用程序配置文件。 配置文件内容   新添加的配置文件

习惯成自然 3245

EMD (经验模态分解) 在 C++ 中的实现指南

EMD 是由 Norden E. Huang 等人在1998年提出的一种适用于非线性和非平稳信号的分析方法。对称性:IMF 的上下包络对称。零交叉点:IMF 的零交叉点数量与极值点数量相同或相差一个。本文详细介绍了如何在C++中实现EMD,包括理论背景、算法步骤、代码实现和优化等内容。通过丰富的代码示例和详细的解释,希望能够帮助读者掌握EMD的基本原理,并能够在实际项目中灵活应用。未来,随着信号处理技术的不断发展,EMD及其变种(如EEMD、CEEMDAN等)将继续在各个领域发挥重要作用。

qq_38334677的博客 1749

将版本信息显示在App图标上

在测试App版本升级功能或者需要多版本切换的时候,可能需要经常去确定当前App的版本号,如果中途打断很有可能会忘记了当前的版本号,并且App内部如果没有显示版本号的功能,就只能从头来了。 如果能让App的版本信息直接显示到图标上,测试的时候是不是就会更加直观,更加效率,更加苏胡。 就像酱紫:怎么做呢?在Xcode中Target的Build Phases中,可以添加一个Run Script的Bui

杏树林 1429

ZYNQ PS-PL数据交互方式总结

一,中断 二,IO方式:MIO EMIO GPIO 三,BRAM或FIFO或EMIF (1)通过BRAM实现PL/PS之间交互 PS 的配置如下图所示。使能 M_AXI_GP0 口,将 FCLK_CLK0 设为 100MHz,使能 PL 至 PS 的中断。 AXI BRAM Controller IP 核连接 PS 的 M_AXI_GP0 口和 BRAM,完成 AXI 接口至 BRAM 接口的转换。 添加BRAM,将BRAM设置为双口RAM,将PORTA与AXI B...

wangjie36的博客 1万+

华为OD机试真题 新系统 2026-04-22 Java&Go 实现【小学生班长选举增强版】

9 月份开学第一天,小学某班级进行班长选举活动,班级共有 N 个学生,每个学生最多可投 3 票(对同一个人只能投一票),也可以弃权不投票,大家投票时写上对应学生的名字。 假设学生不存在重名。考虑到部分少数民族名字带分隔,且整体较长,同学在投票时为了方便,允许同学写全称,也可以只写其中的部分连续段。 例如班级里只有 2 个少数民族名称带点的同学:

MISAYAONE的博客 262

iOS App图标添加版本信息

前言 在一般开发过程中,都会有测试,预生产,生产等环境进行测试和上线,但是在这个过程中时常会有因为版本错误导致的bug激活或这问题定位不到等情况,这时候给App图标加一个版本信息和打包时间的标示是一个很好的选择。 准备 imageMagick ImageMagick (TM) 是一个免费的创建、编辑、合成图片的软件。它可以读取、转换、写入多种格式的图片。图片切割、颜色...

413

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

iOS APP图标版本化

点击上方“逆锋起笔”,公众号回复pdf领取大佬们推荐的学习资料作者 | huqigu来源 | 简书,点击阅读原文查看作者更多文章一、需求背景在我们的项目开发过程中,需要频繁打包给测试...

code小生 394

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

在iOS App的图标上显示版本信息

最近读到一篇文章(http://www.merowing.info/2013/03/overlaying-application-version-on-top-of-your-icon/)介绍了一种非常简单的,把版本信息显示到iOS app的icon上的方式, 有了这个技能,在测试多版本的时候,测试人员可以直接从icon上看到当前测试的版本,无需在到HockeyApp或者TestFlight中去看...

weixin_34124651的博客 122

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

icns图标制作_Mac下改变APP图标

最近发现有些APP图标实在是难看,忍不住想换个标,就在网上查了下资料,MacOS系统提供了生成icns的命令我们需要准备一张png的图,这张图最小要1024*1024的分辨率下面说一下具体步骤1. 一张分辨率1024*1024的png图片2. 打开终端输入一下命令mkdir xxx. iconset**注意:必须以.iconset后缀结尾**3. 把原图片转为不同大小的图片,并放入上面的创建的目录...

weixin_28975553的博客 1059

uni-app 如何更换tabbar里面的图标

TOC。

BradenHan的专栏 2640

uni-app 如何使用iconfont中的图标

data() {return {icons: [],},},},

BradenHan的专栏 1725

解决Xcode9 app 图标不显示 iOS11app图标不显示

升级到iOS11系统下自己的项目桌面app图标不见了,  自己在Xcode9下新建一个工程看一下, 设置图标是显示的, 但是假如CocoaPod就不显示了. 多方查询发现 图标不显示主要是cocoaPod出现了问题, 需要在podfile文件加入以下脚本 [标红的地方] 1.加入脚本 platform :ios, '8.0' target ‘lqz’ do     pod

风起云涌的博客 7820

xcode新版本single view_iOS APP图标版本化

作者 | huqigu来源 | 简书,点击阅读原文查看作者更多文章一、需求背景在我们的项目开发过程中,需要频繁打包给测试人员去测试,有时候我们都不知道测试机上安装的版本是否是最新的,这样会造成很多不必要的麻烦和成本。因此我们需要将buildNumber以水印的方式打在APPIcon上,可以很直观的知道当前是哪一个版本。二、需求分析1、如何动态更新图标Xcode在build过程中可以执行...

weixin_39642687的博客 754

【Python学习笔记】-APP图标显示未读消息数目

以小米手机系统为例,当安装的某个APP有未读消息时,就会在该APP图标的右上角显示未读消息的数目。本文主要讲解如何用Python语言实现图标显示未读消息的数目。首先,还是要用到Python中PIL库,关于Linux下如何安装PIL库,请大家参考这篇博客:http://blog.youkuaiyun.com/kevin_zhai/article/details/47720721,里面有详细的安装过程。实现的原理

Kevin_zhai的博客 5209
上一篇: iOS之加密安全设计
下一篇: iOS-操作系统的理解和回答面试问题的小技巧
xinxu-dev
博客等级 码龄12年 16粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值