Mac生成APP图标和启动图的脚本
概述
之前用的一个批量导出APP图标和启动图的软件,今天发现收费了,于是自己造了个简单的轮子。
实现
Mac上的sips命令,可以很方便的帮助用户修改图片尺寸
Xcode里面的APP启动图资源包含两部分
- 图片资源
- 描述文件
所以这个脚本的功能就是两个
- 生成描述文件
Contents.json - 修改图片尺寸并关联描述文件
生成描述文件
使用cat命令生成描述文件
setContents(){
cat <<EOF >./AppIcon/Contents.json
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"scale" : "2x",
"filename" : "icon_40x40.png"
},
{
"size" : "20x20",
"idiom" : "iphone",
"scale" : "3x",
"filename" : "icon_60x60.png"
},
...
EOF
}
修改图片尺寸
iconWithSize() {
sips -Z $1 icon.png --out ./AppIcon/icon_$1x$1.png
}
函数调用
mkdir AppIcon
setContents
for size in 40 58 60 80 87 120 180 1024
do
iconWithSize $size
done
![]()
![]()
效果展示
![]()

怎么使用
AppIcon
下载对应的sh文件,放到你想导出图片的目录下,将你的原图命名为icon.png,然后在控制台中进入该目录,执行
sh AppIcon.sh
LaunchImage
下载对应的sh文件,放到你想导出图片的目录下,将你的原图命名为default.png,然后在控制台中进入该目录,执行
sh AppLaunch.sh
就可以得到你要的资源啦。
下载点我
Mac生成APP图标和启动图的脚本的更多相关文章
- iOS11.0后APP的图标和启动图
随着Xcode9的更新,APP的图标和启动图也发生了略微变化,下面介绍下图标和启动图的设置. 1.APP图标: 这些是系统默认你开发的项目支持iPad.Spotlight等,其实真正我们的项目只要支持 ...
- iOS开发(1):设置APP的图标与启动图 | iOS图标的尺寸 | LaunchScreen的使用
每个APP都应该有自己的图标跟启动图. 这里介绍怎么设置iOS的APP的图标跟启动图. (1)图标 小程的xcode是10.0版本,设置图标的入口如下: 点击入口后,进到设置页面,如下: 可以看到有很 ...
- iOS开发简记(1):指定APP的图标与启动图
各位兄弟姐妹们,早上好,本人花了将近一个月的时间打造了一个完整的IOS版的App, 期间包括开发,测试,上线审核,现在花点时间把实现的过程分享给大家,“知音”app功能简单,适合对象为初学者,后面我会 ...
- APP图标和启动页
iOS App图标和启动画面尺寸 字数349 阅读22025 评论3 喜欢51 注意:iOS所有图标的圆角效果由系统生成,给到的图标本身不能是圆角的. 1. 桌面图标 (app icon) for i ...
- iOS开发-APP图标、启动页、名字的设置
APP图标.启动页.名字的设置:(较全面,但是APP启动页讲述的有漏洞) 参考链接:https://www.jianshu.com/p/2c7e181276ff APP启动页:(弥补上一文的漏洞) 参 ...
- iOS获取app图标和启动图片名字(AppIcon and LaunchImage's name)
在某种场景下,可能我们需要获取app的图标名称和启动图片的名称.比如说app在前台时,收到了远程通知但是通知栏是不会有通知提醒的,这时我想做个模拟通知提示,需要用到icon名称:再比如在加载某个控制器 ...
- app图标和启动页设置
弄了一下午,终于把iOS中图标的设置和启动页的设置弄明白了.我想以后再也不会浑了. 进入正题: 一:apple 1).iPhone4s 3.5寸屏,也就是640*960,但在模拟器上正常用的是320* ...
- swift--设置app图标和启动页面
1,如下图:
- android点击桌面App图标activity启动流程
1.点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求:2.system_server进程接收到请求后,向zygote进 ...
随机推荐
- Mybatis源代码分析之parsing包
parsing,从字面上理解就是编译解析的意思,那么这个包中的内容就应该和mybatis配置文件的编译解析有关系.本文首先会按照引用层次来分别介绍这个包中各个类的作用,而后再用实际的例子解释它们是如何 ...
- nginx的MainLine version、Stable version、Legacy versions
Nginx的版本说明Mainline version:在线版本,正处于开发状态Stable version :稳定版本(一般下载使用)Legacy version :遗留版本,遗留的老的版本 Linu ...
- hihocoder [Offer收割]编程练习赛12 [1494] ---- 一面砖墙
原题链接 一面砖墙 算法分析 设墙的宽度为 range,则需要统计横坐标为 1,2,3,4,...,range-1 处的墙缝数,取最大的墙缝数(记为maxCrevices),从该处划一道竖线,竖线穿过 ...
- linux 软件包安装方式选择、安装位置、源码包安装
对外提供服务,比如apache,应使用源码包安装对内提供服务,比如gcc,只是我自己使用,使用rpm包安装 rpm包不需要指定安装位置,源码包的安装需要手动指定安装位置 rpm包默认安装位置/etc/ ...
- JS JSON序列化 Ajax form表单
# JS序列化 a = {"k1":"v1"} #序列化为字符串 类似python json.dumps(a) b = JSON.stringify(a) &q ...
- java 中解析json步骤
一. JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧. Json建构于两种结构: 1.“名称/值”对的集合(A collection ...
- 关于removeChild
var a=document.body; document.body.parentNode.removeChild(a) console.log(a); a的内容还是body???whY
- lua5.3+luasocket
今天安装了luasocket,遇到了很多错误,百度并没有什么针对lua5.3的版本安装luasocket的文章,在这里记录一下. 1.下载lua5.3 下载到了lua-5.3.5.tar.gz版本的l ...
- 【Java】读写文本文件
package rw; import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutput ...
- HBase Region分裂实现
分裂策略 不同的分裂策略的实现需要继承RegionSplitPolicy,主要实现两个方法: shouldSplit()表示是否需要分裂 getSplitPoint()得到分裂点rowkey 从 HB ...