AlertKit is a free, open source collaboration & feedback project written in Swift and released under MIT. It has 2,637 GitHub stars, 147 forks and 7 open issues, and was last pushed 2 days ago. On this registry it ranks #6 of 22 tracked projects in Collaboration & Feedback, with 5 head-to-head comparisons available.

What is AlertKit?

AlertKit is a Swift package that recreates Apple's own transient alert popups — the ones shown in Apple Music after adding a song to a library and in the App Store after submitting feedback — so iOS, iPadOS and visionOS developers can present the same native-looking confirmations inside their own apps.

What it is

AlertKit is an open-source Swift library that reproduces the small, animated confirmation popups Apple uses in its own first-party apps. The README describes the goal directly: the author tried to recreate Apple's alerts as closely as possible, pointing to the App Store feedback confirmation and the Apple Music "added to library" popup as the reference designs. The package ships those designs as reusable views with matching icons, typography, animation and Dark Mode behaviour, so an app does not have to hand-build a lookalike from scratch.

The concrete problem it solves is the gap between a system alert and the lightweight confirmation an app actually wants. A UIAlertController interrupts the user and demands a tap; a custom toast usually looks nothing like the platform. AlertKit occupies that middle ground inside the Apple ecosystem, replacing the bespoke popup view that teams would otherwise write, animate and maintain themselves. It works with both UIKit and SwiftUI, supports iOS 13 and later, and adds visionOS support, so the same presentation code serves apps across Apple's platforms.

Key capabilities

  • Presents an alert with a single call, AlertKitAPI.present(title:icon:style:haptic:), passing a title, an icon preset such as .done, a style and a haptic feedback level such as .success.
  • Ships ready-made icon presets including Done, Heart and Error, matching the states Apple shows in its own apps.
  • Offers two visual styles through the AlertViewStyle enum: iOS16AppleMusic and iOS17AppleMusic.
  • Supports SwiftUI declaratively through the .alert(isPresent:view:) modifier, taking an AlertAppleMusic17View instance.
  • Allows manual control of the lifecycle, with present(on:) and dismiss() on the alert view, plus AlertKitAPI.dismissAllAlerts() to clear everything currently on screen.
  • Exposes the underlying labels for customisation, so a developer can change titleLabel.font or titleLabel.textColor on an AlertAppleMusic17View.
  • Adapts to Dark Mode automatically, as stated in the README.

Who uses it and how

  • iOS developers who want an App Store-style feedback confirmation after a user submits a rating or report, without building a custom overlay.
  • Apple Music-style library actions, where adding an item should produce a brief "Added to Library" confirmation rather than a blocking dialog.
  • SwiftUI-first codebases that prefer attaching an alert through a view modifier over imperative presentation calls.
  • UIKit codebases that call AlertKitAPI.present directly from a view controller, mixing the two frameworks in one app.
  • Teams that need a consistent success, heart or error confirmation across many screens and want one shared component instead of per-screen implementations.

Getting started

Add the package through Swift Package Manager using the repository URL https://github.com/sparrowcode/AlertKit, or declare it in Package.swift with .package(url: "https://github.com/sparrowcode/AlertKit", .upToNextMajor(from: "5.1.8")). CocoaPods is still supported via pod 'SPAlert', and manual integration is possible by copying the Sources/AlertKit folder into an Xcode project.

How it compares

No comparable tools are named in the facts for this entry, so AlertKit stands alone in this registry rather than being positioned against alternatives. It is MIT-licensed and distributed as source through Swift Package Manager, so there is no paid tier or hosted service involved.

When to use it — and when not

Choose AlertKit when the app is written in Swift for Apple platforms and the design goal is specifically Apple's own popup language; it will not help on Android, on the web, or in cross-platform frameworks. The README is short and example-driven, with no full API reference, so teams needing exhaustive documentation should expect to read the source. CocoaPods support is explicitly described by the author as an outdated route that will only be maintained for a while, which makes Swift Package Manager the safer long-term integration.

project readme (upstream, from github) — read inline

AlertKit

Popup from Apple Music & Feedback in AppStore. Contains Done, Heart, Error and other. Supports Dark Mode. I tried to recreate Apple's alerts as much as possible. You can find these alerts in the AppStore after feedback and after you add a song to your library in Apple Music.

Alert Kit v5

For UIKit & SwiftUI call this:

AlertKitAPI.present(
    title: "Added to Library",
    icon: .done,
    style: .iOS17AppleMusic,
    haptic: .success
)

Available 2 styles:

public enum AlertViewStyle {

    case iOS16AppleMusic
    case iOS17AppleMusic
}

iOS Dev Community

Navigate

Installation

Ready to use on iOS 13+. Supports iOS and visionOS. Working with UIKit and SwiftUI.

Swift Package Manager

In Xcode go to Project -> Your Project Name -> Package Dependencies -> Tap Plus. Insert url:

https://github.com/sparrowcode/AlertKit

or adding it to the dependencies of your Package.swift:

dependencies: [
    .package(url: "https://github.com/sparrowcode/AlertKit", .upToNextMajor(from: "5.1.8"))
]

CocoaPods:

This is an outdated way of doing things. I advise you to use SPM. However, I will continue to support Cocoapods for some time.

Cocoapods Installation

CocoaPods is a dependency manager. For usage and installation instructions, visit their website. To integrate using CocoaPods, specify it in your Podfile:

pod 'SPAlert'

Manually

If you prefer not to use any of dependency managers, you can integrate manually. Put Sources/AlertKit folder in your Xcode project. Make sure to enable Copy items if needed and Create groups.

SwiftUI

You can use basic way via AlertKitAPI or call via modifier:

let alertView = AlertAppleMusic17View(title: "Hello", subtitle: nil, icon: .done)

VStack {}
    .alert(isPresent: $alertPresented, view: alertView)

Customisation

If you need customisation fonts, icon, colors or any other, make view:

let alertView = AlertAppleMusic17View(title: "Added to Library", subtitle: nil, icon: .done)

// change font
alertView.titleLabel.font = UIFont.systemFont(ofSize: 21)
// change color
alertView.titleLabel.textColor = .white

Present & Dismiss

You can present and dismiss alerts manually via view.

let alertView = AlertAppleMusic17View(title: "Added to Library", subtitle: nil, icon: .done)

// present
alertView.present(on: self)
// and dismiss
alertView.dismiss()

For dismiss all alerts that was presented:

AlertKitAPI.dismissAllAlerts()

Apps Using

If you use a AlertKit, add your app via Pull Request.

Frequently asked questions

Is AlertKit free to use?

AlertKit is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does AlertKit do?

Native alert from Apple Music & Feedback. Contains Done, Heart & Message and other presets.

What is AlertKit written in?

AlertKit is primarily written in Swift. Its source is publicly available at https://github.com/sparrowcode/AlertKit, and it has 2,637 GitHub stars.