Generate required icon sizes and iconset from a master application icon.
Switch branches/tags
Clone or download
Latest commit 4664f18 Aug 23, 2018

README.md

appicon plugin

fastlane Plugin Badge

Demo image

Getting Started

This project is a fastlane plugin. To get started with fastlane-plugin-appicon, add it to your project by running:

fastlane add_plugin appicon

Please note that this plugin uses the GraphicsMagick library. If you do not have it, you can install it via Homebrew:

brew install graphicsmagick

About appicon

Generate required icon sizes and iconset from a master application icon.

Since many apps use a single 1024x1024 icon to produce all the required sizes from, why not automate the process and save lots of time?

Example

Check out the example Fastfile to see how to use this plugin. Try it by cloning the repo, running fastlane install_plugins and bundle exec fastlane test.

Just specify the source image using the appicon_image_file. Optionally specify the devices using appicon_devices and the destination path using appicon_path.

We recommend storing the full-size picture at fastlane/metadata/app_icon.png so it can be picked up by deliver, as well as this plugin

lane :basic do
  appicon(
    appicon_devices: [:ipad, :iphone, :ios_marketing],
    appicon_path: "MajorKey/Assets.xcassets"
  )
end

lane :test1 do
  appicon(appicon_image_file: 'spec/fixtures/Themoji.png',
             appicon_devices: [:ipad, :iphone, :ios_marketing])
end


lane :test2 do
  appicon(appicon_image_file: 'spec/fixtures/Themoji.png',
             appicon_devices: [:ipad, :iphone, :ios_marketing, :watch, :watch_marketing])
end

lane :test3 do
  # `appicon_image_file` defaults to "fastlane/metadata/app_icon.png"
  appicon(
    appicon_devices: [:iphone], 
    appicon_path: 'wwdcfamily/Images.xcassets' # output path
  )
end

# or

lane :android do
  android_appicon(
    appicon_image_file: 'spec/fixtures/Themoji.png',
    appicon_icon_types: [:launcher],
    appicon_path: 'app/res/mipmap'
  )
  android_appicon(
    appicon_image_file: 'spec/fixtures/ThemojiNotification.png',
    appicon_icon_types: [:notification],
    appicon_path: 'app/res/drawable',
    appicon_filename: 'ic_notification'
  )
end

Run tests for this plugin

To run both the tests, and code style validation, run

rake

To automatically fix many of the styling issues, use

rubocop -a

Issues and Feedback

For any other issues and feedback about this plugin, please submit it to this repository.

Troubleshooting

If you have trouble using plugins, check out the Plugins Troubleshooting doc in the main fastlane repo.

Using fastlane Plugins

For more information about how the fastlane plugin system works, check out the Plugins documentation.

About fastlane

fastlane is the easiest way to automate building and releasing your iOS and Android apps. To learn more, check out fastlane.tools.