ios-image-util

OVERVIEW:

This tiny Java application generate all size of icon & launch image files with PNG format for various version of iOS.
Support iPhone, iPad and optionally supports Apple Watch, CarPlay, Mac.

alt text

To generate images, just drop original icon PNG file (1024 x 1024 pixels recommended) to the window and press "Generate" button.
Contents.json and scaled images going to be generated with appropriate filename.
For compatibility maintenance, iOS 6 icon can specify separately, but usually does not need to set for it.
Also icon and launch images especially for iPad can be specified. (If not set, same images as iPhone will be used.)

Optionally, Apple Watch, CarPlay and Mac icon could set separately, too. These are not requirement. You should set these images only when you want to generate.
*Icon for Apple Watch generate as 24 bits RGB PNG, without alpha channel.

The launch images are also optional. Square PNG file 2048 x 2048 pixels recommended.
The square shape is not a requirement, but it's easy way to generate universal launch images.

alt text

Each settings can be specified by using command line options. This means generating process can be automated by using command line options with no gui.

You can store settings to XML property file and load next time. Individual command-line options are stronger than XML property file.
From Ver 2.0, last settings will be restored automatically at the next startup. Settings stored to 'ios-image-util.properties' on window closing, this means the last settings will not be restored when executing by jar file from other directories.

Extra feature, generating @3x, @2x, @1x images from one PNG file. (drop/select multiple files are supported.)

alt text

From Ver 2.0, Image Set with Size Class is supported.

alt text

With 'Generate with Image Set' option, Contents.json going to be generated with scaled images.

*This application will not support "Brand Assets". (In other words, Apple TV icons are not supported.) Also will not support "Memory" and "Graphics" properties for Image Set. These are available with Xcode 7 or later.

OUTPUT:

Type iOS Ver Filename Width Height
Icon ~6.x Icon.png 57 57
~6.x [email protected] 114 114
~7.x~ Icon-Small.png 29 29
~7.x~ [email protected] 58 58
8.x~ [email protected] 87 87
7.x~ Icon-Small-40.png 40 40
7.x~ [email protected] 80 80
8.x~ [email protected] 120 120
~6.x Icon-Small-50.png 50 50
~6,x [email protected] 100 100
7.x~ [email protected] 120 120
8.x~ [email protected] 180 180
~6.x Icon-72.png 72 72
~6.x [email protected] 144 144
7.x~ Icon-76.png 76 76
7.x~ [email protected] 152 152
9.x~ [email protected] 167 167
11.x~ for marketing (ios, watch) 1024 1024
(Notification 7.x~ 20x20.png 20 20
7.x~ [email protected] 40 40
7.x~ [email protected] 60 60
(Apple Watch) 8.x~ [email protected] 48 48
8.x~ [email protected] 55 55
8.x~ [email protected] 58 58
8.x~ [email protected] 87 87
8.x~ [email protected] 80 80
8.x~ [email protected] 88 88
8.x~ [email protected] 172 172
8.x~ [email protected] 196 196
(CarPlay) 8.x [email protected] 120 120
9.x~ [email protected] 120 120
9.x~ [email protected] 180 180
Launch ~6.x Default.png 320 480
~7.x~ [email protected] 640 960
~7.x~ [email protected] 640 1136
~8.x~ [email protected] 750 1334
~8.x~ [email protected] 1242 2208
11.x~ [email protected] 1125 2436
11.x~ [email protected] 2436 1125
~8.x~ [email protected] 2048 2732
~8.x~ [email protected] 2208 1242
~7.x~ Default-Portrait~ipad.png 768 1024
~7.x~ Default-Portrait@2x~ipad.png 1536 2048
~7.x~ Default-Landscape~ipad.png 1024 768
~7.x~ Default-Landscape@2x~ipad.png 2048 1536
(optional) ~6.x Default-Portrait.png 768 1004
~6.x [email protected] 1536 2008
~6.x Default-Landscape.png 1024 748
~6.x [email protected] 2048 1496
(Apple TV) 9.x~ Default-Landscape-Tv.png 1920 1080
11.x~ [email protected] 3840 2160
Artwork - iTunesArtwork 512 512
- iTunesArtwork@2x 1024 1024

PREREQUISITES:

RECOMMENDED:

COMMAND LINE:

COMMAND LINE OPTIONS:

-h, -help                   show this help message and exit
-b, -batch                  run as batch mode (no gui)
-v, -verbose                verbose mode (available with batch mode only)
-silent                     no log (available with batch mode only)
-props                      property file location (full path)
-n, -new                    clear previous settings on startup (gui only)
-r, -reset                  force reset all properties (gui only)

-icon6 "icon png path"      iOS 6 icon png file location (full path)
-watch "icon png path"      Apple Watch icon png file location (full path)
-carplay "icon png path"    CarPlay icon png file location (full path)
-mac "icon png path"        Mac icon png file loaction (full path)
-iconipad "icon png path"   iPad icon png file loaction (full path)
-icon7 "icon png path"      iOS 7 icon png file loaction (full path)
-launch "launch image path" launch image png file location (full path)
-launchipad "image path"    iPad launch image png file location (full path)
-output "output directory"  output directory location (full path)
-iphoneonly                 output iPhone images only (default both)
-ipadonly                   output iPad images only (default both)
-to-status-bar              generate 'to-status-bar' launch images
-noasset                    not generate images as asset catalogs
-noartwork                  not generate ArtWork images for Store
-noprerender                not generate as pre-rendered
-noclean                    not clean target files before generate
-minver [0,7,8]             minimum version to generate (default: 0)
                              0: All versions
                              7: iOS 7 and Later
                              8: iOS 8 and Later
-lscale [0-5]               launch image scaling (default: 4)
                              0: no resizing (iPhone only)
                              1: no resizing (iPhone & iPad)
                              2: fit to screen height (iPhone only)
                              3: fit to screen
                              4: fill screen (prefer long side)
                              5: fill screen (no aspect ratio)
-lbgcolor [RGB|ARGB]        '000000' black, '00FFFFFF' white 100% transparent
-imagetype [0-13]           choose image type (@see BufferedImage)
For Image Set:
-sp3x                       deprecated. Use '-spSize 100%:100%' instead
-spSize width:height        generate @3x, @2x, @1x with @1x(px)|@3x(%) size
-spNoReplace                not overwrite if file already exists
-spNoClean                  not clean target files before generate
-spBgcolor                  background color.
-spScaling                  scaling type (default: 3)
                              0: no resizing
                              1: fit to short side
                              2: fit to long side
                              3: fit with aspect ratio
                              4: fill without aspect ratio
-spDir "path"               Output directory. (relative or absolute)
-spFile "png path"          image sets png file location (full path)
                multiple files available. (Separate by system path separator)
                -spFile option is available with batch mode only.

CHANGE LOG:

2014/01/15

2014/01/29

2014/02/01

2014/02/14

2014/02/22

2014/02/24

2014/02/26

2014/03/08

2014/09/11

2014/09/23

2014/09/28

2014/10/05

2014/11/13

2015/03/28

2015/04/29

2015/06/03

2015/06/07

2015/07/19 - Version 2.0.0.0

2015/09/10 - 2.7.1.0

2015/09/19 - 2.7.1.1

2016/01/24 - 2.7.2.0

2016/01/24 - 2.7.2.1

2016/02/04 - 2.7.2.2

2016/09/22 - 2.8.0.0

2016/10/11 - 2.8.1,0

2017/09/17 - 2.9.0.0