66

GitHub - kreait/convertappicon: converts a pdf into multiple app icons for iOS a...

 6 years ago
source link: https://github.com/kreait/convertappicon
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

convertappicon

convertappicon converts a pdf into multiple app icons. It is a macOS tool written in Swift and currently supports generating iOS icons (iPhone, iPad and watch). The easiest way is to execute it from a project target script phase inside of Xcode.

IMPORTANT: Put the master pdf file into the project right alongside the destination AppIcon with an additional tailing 'Pdf' asset name (see sample). You do not need to bundle/copy the pdf to the target itself.

Background

Xcode supports (named) images from pdf assets for a long time, but sadly the app icon itself is an exception: up to 18 png files have to be arranged manually inside of Xcode to provide a proper app icon.

Due to an app offering multiple, pre-defined app icons to the user as an alternative as well, this can be a cumbersome task.

For that reason, I've created this script during a hackathon as a proof of concept and then later moved from a bash/ImageMagick/scripting setup to a native Swift tool.

Feel free to ask questions, fork or create pull requests - [email protected]

Synopsis

convertappicon [-c] [-h] [-t] [-s iphone ipad watch marketing] APPICONSETPATH

APPICONSETPATH : The last parameter is the (partial) path to the destination .appiconset folder. It will traverse down and tries to find the first matching subfolder.

-c : Will clean the target folder first.

-h : Will show this help.

-t : Test only, will print app icon path, master pdf path and all possible icons only.

-s : Select icon categories: 'iphone', 'ipad', 'watch' or 'marketing' - if omitted all of them will be created.

Sample

There is a sample project showing you how the tool is going to be integrated. It was setup in the following steps:

  • create a new iOS project
  • open the Assets.xcassets entry (a default AppIcon asset should already be set up but empty)
  • add an new image asset and name it AppIconPdf
  • from either Sketch or OmniGraffle export the sample Icon file into a pdf
  • drag the pdf into the newly created AppIconPdf panel (optional: set scale to Single Scale)
  • create a new (aggregation) target in the projects target list (see cross platform templates)
  • within that target, create a new run script build phase
  • enter the path to the convertappicon script and add the "${SRCROOT}" folder
  • select the build target and build it, to run the conversion
  • now the previously empty AppIcon asset contains all icons

Providing "${SRCROOT}" in a target build script is usually enough but if you have multiple icons, you must provide the full folder path.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK