A library for creating App Icons from SwiftUI views.
Table of Contents
- iOS 16.0+
- macOS 13.0+
App Icon Generator is available as a Swift Package.
.package(url: "https://github.com/pawello2222/AppIconGenerator.git", .upToNextMajor(from: "1.0.0"))
Generate icons using AppIconGenerator
AppIconGenerator {
IconView()
}
.generateIcons(for: .iOS)
or directly from within a SwiftUI block
IconView()
.generateIcons(for: .iOS)
Generated icons will be saved in the documents directory (the full path will be logged to the console):
- iOS
Icon saved to: /Users/.../Library/Developer/CoreSimulator/.../Documents/AppIconGenerator/Icon/Icon-1024.png
- macOS
Icon saved to: /Users/.../Documents/AppIconGenerator/Icon/Icon-1024.png
extension IconSet {
public var sizes: [CGFloat] {
switch self {
case .iOS:
return [40, 58, 60, 76, 80, 87, 114, 120, 128, 136, 152, 167, 180, 192, 1024]
case .macOS:
return [16, 32, 64, 128, 256, 512, 1024]
case .watchOS:
return [44, 48, 55, 58, 60, 64, 66, 80, 87, 88, 92, 100, 102, 108, 172, 196, 216, 234, 258, 1024]
case .single:
return [1024]
case .custom(let sizes):
return sizes
}
}
}
import AppIconGenerator
import SwiftUI
struct ContentView: View {
var body: some View {
IconView()
.generateIcons(for: .iOS, name: "MyIcon")
}
}
struct IconView: View {
var body: some View {
GeometryReader { geometry in
ZStack {
Color.blue
Circle()
.fill(Color.red)
.frame(
width: geometry.size.width / 2,
height: geometry.size.height / 2
)
}
}
}
}
App Icon Generator is available under the MIT license. See the LICENSE file for more info.