Repository navigation
Releases: MrPalme/PurchaseKit-iOS
Release list
SwiftUI Convenience Layer (Host + UI)
This release adds a SwiftUI “convenience layer” on top of the core StoreKit 2 backend.
What’s new
• SwiftUI bootstrap
• PurchaseKitHost to own a single PurchaseKitManager (@StateObject) and inject it via EnvironmentObject
• View.installPurchaseKit(...) helpers (basic, with optional NetworkService, or custom manager factory)
• Package-ready UI components
• PurchaseKitPurchaseButton with sensible defaults and full customization via title/icon/tint providers
• Default localization keys resolved from Bundle.module
• Toolbar menu + legal actions
• PurchaseKitInfoToolbar with optional Terms/Privacy URLs, Info sheet, Restore, and Manage Subscriptions entry
• PurchaseKitSafariView for in-app web presentation
• Documentation
• Updated usage examples and setup guidance
Notes
• Minimum requirements unchanged (iOS 16+, StoreKit 2)
• No breaking API changes intended (compatible with v0.1.0 core)
PurchaseKit v0.1.0
🎉 Initial release
PurchaseKit is an app-agnostic StoreKit 2 backend as a Swift Package.
Highlights
- StoreKit 2 product loading with caching (
CachePolicy) - Purchase flow with verification + finishing transactions
- Restore flow via
AppStore.sync()and entitlement snapshot - Normalized entitlement model (
EntitlementState) for feature gating - Type-erased options (
AnyPurchaseOption) for stable delegate callbacks - Optional network awareness via
NetworkService - SwiftUI-ready building blocks +
ObservableObjectstate - Apache-2.0 licensed
Requirements
- iOS 16+
- Swift Package Manager
- StoreKit 2
Language / Localization
PurchaseKit ships with Localizable.xcstrings:
- English (en)
- German (de)
- You can override all strings in the host app by providing the same keys in your own localization files.
Notes
- API may evolve until
v1.0.0(breaking changes possible in minor versions).