
Research
/Security News
Shai Hulud Strikes Again (v2)
Another wave of Shai-Hulud campaign has hit npm with more than 500 packages and 700+ versions affected.
fastlane-plugin-appicon
Advanced tools

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 minimagick, which requires either GraphicsMagick or ImageMagick library. If you have neither, you can install either via Homebrew:
brew install graphicsmagick
or
brew install imagemagick
The default CLI for the mini_magick gem is set to auto pick. It will first try to use GraphicsMagick (if you have it installed) otherwise it will use ImageMagick. If you want to be explicit about which CLI you use, set the minimagick_cli option to graphicsmagick or imagemagick. Not specifying this option will set MiniMagick to use auto which will choose what's available.
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?
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.
If you want to use this plugin to generate a app icon for Messages(sticker) extension, set messages_extension to true and add messages to the appicon_devices.
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
lane :test4 do
appicon(appicon_image_file: 'spec/fixtures/Themoji.png',
appicon_devices: [:macos])
end
lane :splash_screen do
appicon(
appicon_image_file: 'spec/fixtures/splash_screen.png',
appicon_devices: [:universal],
appicon_path: "ios/App/App/Assets.xcassets",
appicon_name: 'Splash.imageset'
)
end
lane :messages_extension do
appicon(
appicon_image_file: "fastlane/metadata/iMessageAppIcon.png",
appicon_devices: [:iphone, :ipad, :ios_marketing, :messages],
appicon_path: 'iMessageStickers/Stickers.xcassets',
messages_extension: true
)
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',
generate_rounded: true
)
android_appicon(
appicon_image_file: 'spec/fixtures/splash_base_image.png',
appicon_icon_types: [:splash_port, :splash_land],
appicon_path: 'app/res/drawable',
appicon_filename: 'splash'
)
end
To run both the tests, and code style validation, run
rake
To automatically fix many of the styling issues, use
rubocop -a
For any other issues and feedback about this plugin, please submit it to this repository.
If you have trouble using plugins, check out the Plugins Troubleshooting doc in the main fastlane repo.
fastlane PluginsFor more information about how the fastlane plugin system works, check out the Plugins documentation.
fastlanefastlane is the easiest way to automate building and releasing your iOS and Android apps. To learn more, check out fastlane.tools.
FAQs
Unknown package
We found that fastlane-plugin-appicon demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
/Security News
Another wave of Shai-Hulud campaign has hit npm with more than 500 packages and 700+ versions affected.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.