diff --git a/Sources/Earthquake Network/Controllers/InApp/SubscriptionsViewController.swift b/Sources/Earthquake Network/Controllers/InApp/SubscriptionsViewController.swift index e2321e4..9c2e36c 100644 --- a/Sources/Earthquake Network/Controllers/InApp/SubscriptionsViewController.swift +++ b/Sources/Earthquake Network/Controllers/InApp/SubscriptionsViewController.swift @@ -126,12 +126,12 @@ class SubscriptionsViewController: UITableViewController { guard let self = self, let products = products, success == true else { return } - // todo: teniamo il più "alto" let purchased = products.filter { (product) -> Bool in - VersioneProProducts.store.isProductPurchased(product.productIdentifier) + let isPurchased = VersioneProProducts.store.isProductPurchased(product.productIdentifier) + let isSubscription = VersioneProProducts.Identifier.isSubscription(for: product.productIdentifier) + return isPurchased && isSubscription } self.subscribedProduct = purchased.first - self.allProducts = products.sorted(by: { $0.productIdentifier > $1.productIdentifier }) self.updateUI() diff --git a/Sources/Earthquake Network/Models/VersioneProProducts.swift b/Sources/Earthquake Network/Models/VersioneProProducts.swift index 1d26a00..d034e71 100644 --- a/Sources/Earthquake Network/Models/VersioneProProducts.swift +++ b/Sources/Earthquake Network/Models/VersioneProProducts.swift @@ -53,6 +53,16 @@ public struct VersioneProProducts { Subscription10kYearly, Subscription10kYearlyDiscounted, Subscription100kYearly, Subscription100kYearlyDiscounted ] + + static let identifierForSubscriptions: Set = [ + Subscription10kMonthly, Subscription100kMonthly, + Subscription10kYearly, Subscription10kYearlyDiscounted, + Subscription100kYearly, Subscription100kYearlyDiscounted + ] + + static func isSubscription(for identifier: String) -> Bool { + Self.identifierForSubscriptions.contains(identifier) + } } public static let store = IAPHelper(productIds: VersioneProProducts.Identifier.identifiers)