Skip to content

v0.1.0-beta.2

Pre-release
Pre-release

Choose a tag to compare

@lynnswap lynnswap released this 23 Jul 05:38
· 18 commits to main since this release
3b7fb4c

StoreTransactionKit v0.1.0-beta.2

StoreTransactionKit centralizes verified StoreKit transaction handling, entitlement reconciliation, and Transaction.finish() authority in one process-owned, observable store.

This is a prerelease. Public API may change before the stable v0.1.0 release.

Requirements: Swift 6.3+; iOS 18.4+, macOS 15.4+, Mac Catalyst 18.4+, tvOS 18.4+, watchOS 11.4+, or visionOS 2.4+.

New Features

  • Define an App Store Connect auto-renewable subscription group with typed product identifiers, mapping multiple durations or service levels to app-defined entitlements.
  • Use TransactionStore to monitor verified deliveries, reconcile unfinished transactions and current entitlements, process purchases, query history, restore purchases, and perform a drained shutdown.
  • Gate features with isEntitled(to:) while retaining explicit loading, failed, ready, and overridden entitlement states.
  • Automatically finish catalog-managed subscriptions, or provide an optional TransactionStoreDelegate for durable app-owned effects, unmanaged products, and background-failure notifications.
  • Override entitlements for previews, debug builds, UI tests, or app-defined distribution environments without starting StoreKit.
  • Test the production entitlement flow without a .storekit configuration using StoreTransactionKitTesting, typed synthetic purchases, and TransactionStoreTestClock.

Documentation

  • Includes a SwiftUI quick start, App Store Connect catalog mapping, transaction lifecycle semantics, entitlement overrides, and deterministic testing guidance.