This commit is contained in:
Trey t
2022-12-23 09:43:48 -06:00
parent 49e3812659
commit 488832b777
9 changed files with 195 additions and 167 deletions

View File

@@ -23,6 +23,8 @@ class IAPManager: ObservableObject {
@Published private(set) var subscriptions = [Product: (status: [Product.SubscriptionInfo.Status], renewalInfo: RenewalInfo)?]()
@AppStorage(UserDefaultsStore.Keys.firstLaunchDate.rawValue, store: GroupUserDefaults.groupDefaults) private var firstLaunchDate = Date()
@Published private(set) var isLoadingSubscriptions = false
public var sortedSubscriptionKeysByPriceOptions: [Product] {
subscriptions.keys.sorted(by: {
$0.price < $1.price
@@ -89,7 +91,7 @@ class IAPManager: ObservableObject {
}
private let iapIdentifiers = Set([
"com.88oakapps.ifeel.IAP.subscriptions.weekly",
// "com.88oakapps.ifeel.IAP.subscriptions.weekly",
"com.88oakapps.ifeel.IAP.subscriptions.monthly",
"com.88oakapps.ifeel.IAP.subscriptions.yearly"
])
@@ -97,6 +99,8 @@ class IAPManager: ObservableObject {
var expireOnTimer: Timer?
init() {
isLoadingSubscriptions = true
//Start a transaction listener as close to app launch as possible so you don't miss any transactions.
updateListenerTask = listenForTransactions()
@@ -133,6 +137,9 @@ class IAPManager: ObservableObject {
decideShowIAP()
decideShowIAPWarning()
DispatchQueue.main.async {
self.isLoadingSubscriptions = false
}
}
}