Contents

jkmathew/assetizer

Adding images to iOS/macOS project is not straight forward. You should add `1x` and/or ` 2x` and/or ` 3x` based on the screen size/ device. Your designer may give you the required `1x`, ` 2x`, ` 3x` files. But what to do if they provide only one size or you downloading it from [h

Installation

From Source

$ git clone https://github.com/jkmathew/Assetizer.git
$ cd Assetizer
$ make

With Mint

$ mint install jkmathew/Assetizer assetize

With SPM

Add following line to your Package.swift file.

dependencies: [
...,
.package(url: "https://github.com/jkmathew/Assetizer.git", .upToNextMajor(from: "0.1.0"))
]

Usage

From terminal

$ assetize image.png --size 30x30

This will create image.imageset, which can be directly used with your images.xcassets.

Additionaly you can pass following options --output - Output path, where you want to create the imageset. If you are working on a project continuously, you can set default output directory by entering,

$ defaults write me.jkmathew.assetizer outputPath /path/to/images.xcassets

if --output option not passed and no default directory set, will create imageset in the input directory.

--device - Target device family. Accepted values - [universal, iphone, ipad, watch, tv, mac]

Swift code

Import package Assetizer . Now you can use AssetWriter class like.

let writer = try AssetWriter(imagePath: "/path/to/input.png", size: CGSize(width: 30, height: 30))// you can pass CGSize.zero to take size from input.png
try writer.createAssets()

TODO

  • [x] Distribute as a package to use in SPM projects.
  • [x] Accept different device idioms.
  • [ ] Create app icons.
  • [x] Specify o/p path.
  • [ ] Ditribute through home brew.
  • [ ] Support for linux.

Author

Johnykutty - johnykutty.mathew@gmail.com

Package Metadata

Repository: jkmathew/assetizer

Default branch: master

README: README.md