skills/fusengine/agents/swift-app-icons

swift-app-icons

SKILL.md

Swift App Icons & Assets

App Icon Requirements

Single-Size Mode (Xcode 15+, Recommended)

Provide ONE 1024x1024 PNG. Xcode generates all sizes automatically.

Asset Catalog structure:

AppIcon.appiconset/
├── Contents.json
└── AppIcon.png (1024x1024)

iOS 26 Dark & Tinted Icons

{
  "images": [
    { "idiom": "universal", "platform": "ios", "size": "1024x1024", "filename": "icon-light.png" },
    { "appearances": [{"appearance": "luminosity", "value": "dark"}],
      "idiom": "universal", "platform": "ios", "size": "1024x1024", "filename": "icon-dark.png" },
    { "appearances": [{"appearance": "luminosity", "value": "tinted"}],
      "idiom": "universal", "platform": "ios", "size": "1024x1024", "filename": "icon-tinted.png" }
  ]
}

Design rules:

  • Dark: Gradient #313131#141414, transparent background
  • Tinted: Grayscale, black background, 100%→60% opacity gradient

SF Symbols

// Basic usage
Image(systemName: "cloud.sun.bolt.fill")
    .font(.largeTitle)
    .foregroundStyle(.blue)

// Multi-color (original)
Image(systemName: "thermometer.sun.fill")
    .renderingMode(.original)

// Palette mode
Image(systemName: "person.3.fill")
    .symbolRenderingMode(.palette)
    .foregroundStyle(.red, .green, .blue)

// In Label
Label("Settings", systemImage: "gear")

// Accessibility
Image(systemName: "play.circle")
    .accessibilityLabel(String(localized: "button.play"))

Launch Screen

Option 1: Info.plist (Modern, No Storyboard)

<key>UILaunchScreen</key>
<dict>
    <key>UIImageName</key>
    <string>LaunchImage</string>
    <key>UIColorName</key>
    <string>LaunchBackgroundColor</string>
</dict>

Option 2: SwiftUI Document Apps

DocumentGroupLaunchScene("App Name") {
    NewDocumentButton("Create")
} background: {
    Image(.launchBackground)
        .resizable()
        .scaledToFill()
        .ignoresSafeArea()
}

Asset Catalog Colors

// Load from Assets.xcassets
let brandColor = Color("BrandPrimary")
let bgColor = UIColor(named: "BackgroundColor")

Platform-Specific Sizes

Platform Master Size Notes
iOS/iPadOS 1024x1024 Square, auto-rounded
macOS 1024x1024 .icns generated
watchOS 1024x1024 Circular mask
visionOS 1024x1024 3 layers for parallax

Best Practices

  • No transparency - Alpha must be 1.0
  • No manual corners - System applies mask
  • Simple design - Readable at 29x29
  • PNG format - sRGB or Display P3
  • Test all sizes - Use Simulator
Weekly Installs
1
GitHub Stars
3
First Seen
Feb 1, 2026
Installed on
claude-code1