Optimizing App Assets
Optimizing App Assets
WWDC 2018
Image Compression
Do not always select the ‘Automatic’ !!
Choose the appropriate compression type

Automatic Image Packing

Lossy compression
- Quality vs Size (trade off)
Lossless compression

Deployment target and app thinning

Working Space
- Use consistent color settings for all design files
Stretchable Images

Vector Assets
- Preserve Vector Data enables runtime resizing
- Works better with Dynamic Type!

Design for 2x
- Point boundary snapping ensures device pixel alignment
- Vector assets can use a 2x grid for optimal stroke placement

Namespaces 👍
- Large collections are a naming challenge
- Folders with namespace for grouping!

Using Performance Classes

Sprite Altlases
