Swiftpack.co - tillhainbach/Sparkly as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
tillhainbach/Sparkly
Combine-based wrapped around Sparkle
.package(url: "https://github.com/tillhainbach/Sparkly.git", from: "0.1.0")

Sparkly 💫

Lint Lint Commit Messages

Sparkly is a light-weight, combine-based wrapper around the Sparkle auto-update framework. It's main goal is to abstract away the complexity of the framework, make it easier to use with SwiftUI and to increase the ability for unit-testing (e.g. ease of mocking sparkle).

Usage

Sparkly provides a simple interface struct called UpdaterClient. This client is responsible for routing actions to and events from Sparkle. All actions and events are modelled as enums with associated values. ViewModels, or your preferred flavour, can send actions to sparkle using the UpdaterClient.send(_:) closure and subscript to updater events on the UpdaterClient.updateEventPublisher publisher.

NOTE: Sparkly is currently under development. Not all actions and events are implemented and the interface may change. However, most of the SPUUserDriver methods are wrapped in events and it is possible to implement a ui-based/ update check (see SparklyExample)

NOTE: Sparkly uses Sparkle 2 which is currently still in beta!

Example

see the example app in SparklyExample. It's a SwiftUI-based mac app that uses Sparkly to interact with Sparkle.

Installation

Use SwiftPackageManager. Add the following to your dependencies.

NOTE: This project has a dependency to Sparkle which are not yet fully supporting SPM on there 2.x-branch. Sparkle's XPC-services are not shipped with the SPM package so you have to download them yourself.

dependencies: [
  // Dependencies declare other packages that this package depends on.
  .package(url: "https://github.com/tillhainbach/Sparkly.git", .branch("main"))
],

License

Sparkly is licensed under the MIT license. See LICENSE for further details.

GitHub

link
Stars: 2
Last commit: 1 hour ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

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