Swiftpack.co - andyfinnell/AppStateKit as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by andyfinnell.
andyfinnell/AppStateKit 0.0.1
Unidirectional dataflow app architecture framework for SwiftUI apps
⭐️ 2
🕓 1 year ago
iOS macOS tvOS
.package(url: "https://github.com/andyfinnell/AppStateKit.git", from: "0.0.1")


A Elm-like framework for building SwiftUI based apps. Influenced by Pointfree Co's The Composable Architecture, Redux, and Elm.

It changes at my whim, and is almost always in a state of a rewrite as I explore new ideas. As a result, the most recent is main, not any tagged release.

Currently AppStateKit leverages Swift macros to build Elm-like Components and automatically compose them together. Components combine the reducer and the view together in one type, while keeping the reducer testable apart from the view.


  • Swift 5.9 or greater
  • iOS/tvOS 17 or greater OR macOS 14 or greater


Currently, AppStateKit is only available as a Swift Package.

...using a Package.swift file

Open the Package.swift file and edit it:

  1. Add AppStateKit repo to the dependencies array.
  2. Add AppStateKit as a dependency of the target that will use it
// swift-tools-version:5.9

import PackageDescription

let package = Package(
  // ...snip...
  dependencies: [
    .package(url: "https://github.com/andyfinnell/AppStateKit.git", branch: "main")
  targets: [
    .target(name: "MyTarget", dependencies: ["AppStateKit"])

Then build to pull down the dependencies:

$ swift build

...using Xcode

Use the Swift Packages tab on the project to add AppStateKit:

  1. Open the Xcode workspace or project that you want to add AppStateKit to
  2. In the file browser, select the project to show the list of projects/targets on the right
  3. In the list of projects/targets on the right, select the project
  4. Select the "Swift Packages" tab
  5. Click on the "+" button to add a package
  6. In the "Choose Package Repository" sheet, search for "https://github.com/andyfinnell/AppStateKit.git"
  7. Click "Next"
  8. Choose the main branch rule
  9. Click "Next"
  10. Choose the target you want to add AppStateKit to
  11. Click "Finish"


Stars: 2
Last commit: 2 weeks ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups


Release Notes

Initial version
2 years ago

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics