Get started
Install Swift95 and render your first control.
Run the example apps
Section titled “Run the example apps”Clone the repository, run make generate, and open
Swift95.xcworkspace. Choose Spotify95, Slack95 or Finder95 for a standalone app, or
Swift95Catalog to explore individual components. Slack95 focuses on iPhone conversations;
Spotify95 and Finder95 show desktop layouts. All three use offline demo data.
Requirements
Section titled “Requirements”- Swift 6
- iOS and iPadOS 18 or later
- macOS 15 or later
Add the package
Section titled “Add the package”In Xcode, choose File → Add Package Dependencies and enter:
https://github.com/dimamishchenko/swift95Add the Swift95 library to your target. Add
Swift95Icons as well if your interface
uses the bundled icon set.
If you manage dependencies in Package.swift, add Swift95 to the package and
reference its products from your target:
import PackageDescription
let package = Package( name: "YourPackage", platforms: [ .iOS(.v18), .macOS(.v15) ], dependencies: [ .package( url: "https://github.com/dimamishchenko/swift95", from: "1.0.0" ) ], targets: [ .target( name: "YourTarget", dependencies: [ .product(name: "Swift95", package: "swift95"), .product(name: "Swift95Icons", package: "swift95") ] ) ])Omit the Swift95Icons product when your target does not use the bundled icons.
Render a control
Section titled “Render a control”Import Swift95 beside SwiftUI, then use its components as ordinary SwiftUI views.
import Swift95import SwiftUI
struct SaveButton: View { var body: some View { Button95("Save") { saveDocument() } }
private func saveDocument() {}}Customize the theme
Section titled “Customize the theme”Components use Theme95.classic by default. Install a
customized theme only when you need to change the shared colors, metrics, or
fonts.
import Swift95import SwiftUI
struct ThemedButton95Example: View { var body: some View { Button95("Continue") {} .theme95(customTheme) }
private var customTheme: Theme95 { var colors = Colors95.classic colors.accent = .purple
return Theme95( colors: colors, metrics: .classic, fonts: .classic ) }}Next steps
Section titled “Next steps”Browse the component directory or read the full Button95 documentation.