StoreKitPlus contains additional functionality for working with StoreKit 2.

Overview

StoreKitPlus Logo

Version Swift UI Swift 5.6 MIT License Twitter: @danielsaidi

About StoreKitPlus

StoreKitPlus adds extra functionality for working with StoreKit 2, like extensions, observable state, services, etc.

StoreKitPlus has an observable StoreContext that lets you observe store state, a StoreService protocol and a StandardStoreService implementation that simplifies fetching, purchasing and syncing products, as well as a ProductRepresentable protocol that lets you use local product representations in your app.

Supported Platforms

StoreKitPlus supports iOS 15, macOS 12, tvOS 15 and watchOS 8.

Installation

The best way to add StoreKitPlus to your app is to use the Swift Package Manager.

https://github.com/danielsaidi/StoreKitPlus.git

StoreKitPlus also supports CocoaPods:

pod StoreKitPlus

You can also clone the repository and build the library locally.

Getting started

The online documentation has a guide to get started with StoreKitPlus.

Documentation

The online documentation contains more information, code examples etc. and makes it easy to overview the various parts of the library.

The online documentation is currently iOS only. To generate documentation for other platforms, open the package in Xcode, select a simulator then run Product/Build Documentation.

Demo Application

This project currently has no demo app, since registering and testing real products requires setting up App Store Connect with your products.

Just let me know if you'd like a demo app, and I'll see if I can create an app that has a local StoreKit file and doesn't have to sync with App Store Connect.

Support

You can sponsor this project on GitHub Sponsors or get in touch for paid support.

Contact

Feel free to reach out if you have questions or if you want to contribute in any way:

License

StoreKitPlus is available under the MIT license. See LICENSE file for more info.

You might also like...
A collection of additional custom SFSymbols for Swift
A collection of additional custom SFSymbols for Swift

MoreSFSymbols A collection of additional custom SFSymbols for Swift Content Usage Symbols Developer Logos Contributing Licence Usage iOS 15.0: Downloa

Morphi provides some additional shapes for SwiftUI.
Morphi provides some additional shapes for SwiftUI.

Morphi - Μορφ Morphi provides some additional shapes for SwiftUI. Triangle Parallelogram(topLeftAngle) Polygon(sides) RoundedPolygon(sides, cornerRadi

A lightweight wrapper over UserDefaults/NSUserDefaults with an additional layer of AES-256 encryption

SecureDefaults for iOS, macOS Requirements • Usage • Installation • Contributing • Acknowledgments • Contributing • Author • License SecureDefaults is

Numerals is a package containing additional numeric types for the Swift programming language.

swift-numerals Numerals is a package containing additional numeric types for the Swift programming language. Contents The package currently provides t

The app provides additional actions for the Shortcuts app on macOS and iOS.
The app provides additional actions for the Shortcuts app on macOS and iOS.

Actions Supercharge your shortcuts The app provides additional actions for the Shortcuts app on macOS and iOS. Submit action idea (Submit an issue bef

An app that uses Multipeer Connectivity to play a video across 6 different iOS screens with an additional phone acting as a Main/Control phone.
An app that uses Multipeer Connectivity to play a video across 6 different iOS screens with an additional phone acting as a Main/Control phone.

MultiScreenApp An app that uses Multipeer Connectivity to play a video across 6 different iOS screens with an additional phone acting as a Main/Contro

Simple UIButton subclass with additional state change animations (e.g. backgroundColor) and missing features
Simple UIButton subclass with additional state change animations (e.g. backgroundColor) and missing features

SimpleButton UIButton subclass with animated, state-aware attributes. Easy to subclass and configure! Full API docs Usage Just create your own SimpleB

Add “Launch at Login” functionality to your macOS app in seconds
Add “Launch at Login” functionality to your macOS app in seconds

LaunchAtLogin Add “Launch at Login” functionality to your macOS app in seconds It's usually quite a convoluted and error-prone process to add this. No

Pull to refresh functionality for any ScrollView in SwiftUI!
Pull to refresh functionality for any ScrollView in SwiftUI!

SwiftUIPullToRefresh Pull to refresh is a common UI pattern, supported in UIKit via UIRefreshControl. (Un)surprisingly, it's also unavailable in Swift

Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS.
Quickly reproduce the dropdown UIPickerView / ActionSheet functionality on iOS.

ActionSheetPicker-3.0 Important update Now I fixed most of the things and merge PR' (thanks to ). I did much work to support this library from iOS 5.

Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions on Ethereum network.
Elegant Web3js functionality in Swift. Native ABI parsing and smart contract interactions on Ethereum network.

You can ask for help in our Discord Channel web3swift Swift implementation of web3.js functionality ⚡ Interaction with remote node via JSON RPC 💭 Sma

BarcodeScanner is a simple and beautiful wrapper around the camera with barcode capturing functionality and a great user experience.
BarcodeScanner is a simple and beautiful wrapper around the camera with barcode capturing functionality and a great user experience.

Description BarcodeScanner is a simple and beautiful wrapper around the camera with barcode capturing functionality and a great user experience. Barco

Added functionality that system buttons are not easy to implement
Added functionality that system buttons are not easy to implement

LLCustomButton Added functionality that system buttons are not easy to implement What are the functions ? Sets the position and spacing of text and im

Added functionality that system buttons are not easy to implement
Added functionality that system buttons are not easy to implement

LLCustomButton Added functionality that system buttons are not easy to implement What are the functions ? Sets the position and spacing of text and im

Core functionality for Swift projects

Swift library with our shared code How to install .package(url: "https://github.com/ydataai/swift-core.git", from: "master"), About 👯‍♂️ With ❤️ from

Since Facebook introduced reactions in 2016, it became a standard in several applications as a way for users to interact with content. ReactionButton is a control that allows developers to add this functionality to their apps in an easy way.
AudioPrism implements the `AnalyserNode` functionality defined in the Web Audio API.

AudioPrism AudioPrism implements the AnalyserNode functionality defined in the Web Audio API. https://webaudio.github.io/web-audio-api/#AnalyserNode U

Lightweight set of text fields with nice animation and functionality
Lightweight set of text fields with nice animation and functionality

TweeTextField This is lightweight library that provides different types of Text Fields based on your needs. I was inspired by Jan Henneberg. Features

Basic (simple) App for MacOS with simple functionality
Basic (simple) App for MacOS with simple functionality

Test Mac App Basic (simple) App for MacOS with simple functionality General Details Build : 1.0 Author Alias : gonewithharshwinds Brand : ADV Descript

Releases(0.2.0)
  • 0.2.0(Aug 29, 2022)

    This release breaks up the StoreService protocol into multiple protocols.

    This is done to simplify implementing custom services, mocking in unit tests etc.

    ✨ Features

    • StandardProductService is a new service that takes care of fetching products.
    • StandardPurchaseService is a new service that takes care of purchasing products and restoring purchases.
    • StoreService has been split up into three protocols: StoreProductService, StorePurchaseService and StoreSyncService.
    • StoreContext has a new product(withId:) function.

    💡 Behavior changes

    • StoreService now inherits StoreProductService, StorePurchaseService and StoreSyncService.
    • StandardStoreService now implements StoreProductService, StorePurchaseService and StoreSyncService.
    • StandardStoreService now uses nested service implementations to make its own logic easier to overview.
    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Jun 20, 2022)

    This is a first beta release of StoreKitPlus.

    This version introduces a bunch of types that makes it easier to work with StoreKit in an abstract, protocol-driven way.

    ✨ Features

    • StoreContext is a new, observable type.
    • StoreService is a new protocol for comunicating with StoreKit.
    • StandardStoreService is a new class for comunicating with StoreKit.
    • ProductRepresentable is a new protocol for providing local products.
    • ValidatableTransaction is a new protocol for transaction validation.
    Source code(tar.gz)
    Source code(zip)
Owner
Daniel Saidi
Freelance software engineer, focusing on mobile products and Apple platforms like iOS, tvOS and watchOS.
Daniel Saidi
SSLineChart provides you with the additional functionality of gradient color fill which cannot be found in any library specially Watchkit Libraries.

SSLineChart SSLineChart draws a UIImage of a chart with given values and provide additional functionality of gradient color fill. Setup Instructions C

Simform Solutions 42 Aug 23, 2022
Mercato is a lightweight In-App Purchases (StoreKit 2) library for iOS, tvOS, watchOS, macOS, and Mac Catalyst.

Mercato Mercato is a lightweight In-App Purchases (StoreKit 2) library for iOS, tvOS, watchOS, macOS, and Mac Catalyst. Installation Swift Package Man

Pavel T 49 Jan 4, 2023
Elissa displays a notification on top of a UITabBarItem or any UIView anchor view to reveal additional information.

Elissa Attach a local notification to any UIView to reveal additional user guidance. Usage Example Per default, Elissa will try to align to the center

null 169 Aug 14, 2022
MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding support for iPhone and additional opportunities to setup UIPresentationController size and feel form sheet.

MZFormSheetPresentationController MZFormSheetPresentationController provides an alternative to the native iOS UIModalPresentationFormSheet, adding sup

Michał Zaborowski 979 Nov 17, 2022
ModernRIBs is recreated by removing additional dependencies such as RxSwift from Uber's RIBs.

ModernRIBs is recreated by removing additional dependencies such as RxSwift from Uber's RIBs. Only Combine was used. All features provided by RIBs can

SeungYeop Yeom 184 Jan 2, 2023
A collection of additional geometries ready for use in RealityKit 2

RealityGeometries By default, the only shapes available in RealityKit are a Sphere, Cuboid and Plane (with 4 vertices). Until iOS 15 the only clean wa

Max Cobb 49 Dec 19, 2022