mirror of
https://github.com/passepartoutvpn/passepartout-apple.git
synced 2025-01-31 04:52:05 +00:00
Iterate feature-based products
This commit is contained in:
parent
1ed4d32d5d
commit
63bd33aa4e
@ -97,6 +97,18 @@ enum Product: String {
|
||||
// MARK: All
|
||||
|
||||
static let all: [Product] = allDonations + allFeatures + allProviders
|
||||
|
||||
var isDonation: Bool {
|
||||
return Product.allDonations.contains(self)
|
||||
}
|
||||
|
||||
var isFeature: Bool {
|
||||
return Product.allFeatures.contains(self)
|
||||
}
|
||||
|
||||
var isProvider: Bool {
|
||||
return Product.allProviders.contains(self)
|
||||
}
|
||||
}
|
||||
|
||||
extension Infrastructure.Name {
|
||||
|
@ -80,6 +80,21 @@ class ProductManager: NSObject {
|
||||
return inApp.product(withIdentifier: identifier)
|
||||
}
|
||||
|
||||
func featureProducts(includingFullVersion: Bool) -> [SKProduct] {
|
||||
return inApp.products.filter {
|
||||
guard let p = Product(rawValue: $0.productIdentifier) else {
|
||||
return false
|
||||
}
|
||||
guard includingFullVersion || p != .fullVersion else {
|
||||
return false
|
||||
}
|
||||
guard p.isFeature else {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
func purchase(_ product: SKProduct, completionHandler: @escaping (InAppPurchaseResult, Error?) -> Void) {
|
||||
inApp.purchase(product: product) {
|
||||
if $0 == .success {
|
||||
|
Loading…
Reference in New Issue
Block a user