Go to file
Jerry Huang 9d4d864933 docs(readme): update readme.md 2023-01-27 15:51:27 +08:00
Sources/RxStoreKit feat(skproductrequest+rx): reactive extension of SKProductRequest 2023-01-23 01:43:00 +08:00
Tests/RxStoreKitTests build(package): specify the support platforms in package.swift 2023-01-27 15:51:04 +08:00
.czrc chore: setup project 2023-01-14 01:45:07 +08:00
.gitignore chore: setup project 2023-01-14 01:45:07 +08:00
.swiftlint.yml chore: setup project 2023-01-14 01:45:07 +08:00
LICENSE Initial commit 2023-01-14 00:31:49 +08:00
Package.swift build(package): specify the support platforms in package.swift 2023-01-27 15:51:04 +08:00
README.md docs(readme): update readme.md 2023-01-27 15:51:27 +08:00

README.md

RxStoreKit

swift platform
Reactive extensions of StoreKit

How to use

Request SKProduct

Create observable sequence of responses for SKProductRequest and subscribe it

SKProduct.rx.request(with: ["xxxxx"])
    .subscribe(onNext: { response in
        let products = response.products
    })
    .dispose()

or

let request = SKProductsRequest.init(productIdentifiers: ["product_id"])
request.rx.response.subscribe { event in
    switch event {
    case .next(let response): 
        let products = response.products
    default:
        return
    }
}
.dispose()

Subscribe update payment transactons

 SKPaymentQueue.default().rx.updatedTransaction
    .subscribe(onNext: { transaction in
        // Do what you want
    })
    .dispose()

Subscribe product identifiers with revoked entitlements

paymentQueue.rx.productIdentifiersWithRevokedEntitlements
    .subscribe { productIdentifier in
        // Do what you want
    }