v0.1.0-beta.4
Pre-release
Pre-release
StoreTransactionKit v0.1.0-beta.4
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.
- Bridge the validated catalog to StoreKit product and subscription metadata through its subscription group ID, declaration-ordered Product IDs, and exact Product ID-to-entitlement lookup.
- Use
TransactionStoreto process app-supplied purchase results, monitor verified deliveries and subscription-status changes, reconcile unfinished transactions and current entitlements, 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 declared and upgraded same-group subscriptions, or provide an optional
TransactionStoreDelegatefor durable app-owned effects, out-of-group products, and background-failure notifications. - Handle valid same-group subscriptions unknown to the installed binary with an optional
UnrecognizedSubscriptionDelegate, choosing whether to leave them unfinished, finish them, or map them to a known entitlement. - Override entitlements for previews, debug builds, UI tests, or app-defined distribution environments without starting StoreKit.
- Test the production entitlement flow without a
.storekitconfiguration usingStoreTransactionKitTesting, including typed purchases, deterministic access loss, unrecognized subscriptions, arbitrary transaction deliveries, andTransactionStoreTestClock. - Diagnose transaction-store operations through typed errors with localized descriptions and recovery guidance.
Documentation
- Includes app-owned
Product.purchase(options:)andPurchaseIntentflows, automatic transaction monitoring, subscription-status reconciliation, unrecognized-product policies, entitlement overrides, and deterministic testing guidance.