{"repo":"jaywcjlove/StoreKitHelper","free":true,"listed":false,"github":"https://github.com/jaywcjlove/StoreKitHelper","clone":"git clone https://github.com/jaywcjlove/StoreKitHelper.git","description":"A lightweight StoreKit2 wrapper designed specifically for SwiftUI, making it easier to implement in-app purchases.","language":"Swift","stars":263,"topics":["storekit","storekit2","swift","swiftui","apple","iap","ios","ios-swift","macos","in-app-purchase"],"license":"MIT","category":"mobile-apps","readme_excerpt":"Using my apps is also a way to support me: StoreKit Helper === 中文 A lightweight StoreKit2 wrapper designed specifically for SwiftUI, making in-app purchases implementation simpler and more intuitive. Documentation Please refer to the detailed StoreKitHelper documentation in DevTutor, which includes multiple quick start examples, custom payment interface examples, and API references, providing comprehensive examples and guidance. Features - 🚀 SwiftUI Native : Designed specifically for SwiftUI with @ObservableObject and @EnvironmentObject support - 💡 Simple API : Clean and intuitive interface for managing in-app purchases - 🔄 Automatic Updates : Real-time transaction monitoring and status updates - 🎟️ Offer Code Redemption : Built-in support for Apple's system offer code redemption sheet - ✅ Type Safe : Protocol-based product definitions with compile-time safety - 🧪 Testable : Fully testable architecture with comprehensive test case coverage ExampleTests.swift/StoreKitHelperTests.swift Usage Create and inject a StoreContext instance at your SwiftUI app's entry point, which is responsible for loading the product list and tracking purchase status. StoreContext exposes a tri-state purchase status. At app launch, purchaseStatus starts as .loading until Transaction.currentEntitlements finishes its first sync. During this stage, hasPurchased and hasNotPurchased both return false , so startup code will not accidentally treat the user as \"not purchased\". Recommended usage: The def","default_branch":null,"files":null,"tree":[],"storefront":"/r/jaywcjlove","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jaywcjlove/StoreKitHelper/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}