'How do I use the isActive function throughout my application?
I created subscriptions and I created an isActive function to know if the subscription is still valid or not. How can I use this function everywhere in my application? for example in an IF.
thanks
import UIKit
import StoreKit
public typealias SuccessBlock = () -> Void
public typealias FailureBlock = (Error?) -> Void
public typealias ProductsBlock = ([SKProduct]) -> Void
let IAP_PRODUCTS_DID_LOAD_NOTIFICATION = Notification.Name("IAP_PRODUCTS_DID_LOAD_NOTIFICATION")
class IAPManager : NSObject{
private var sharedSecret = ""
@objc static let shared = IAPManager()
@objc private(set) var products = [SKProduct]()
private override init(){}
private var productIds : Set<String> = []
private var didLoadsProducts : ProductsBlock?
private var successBlock : SuccessBlock?
private var failureBlock : FailureBlock?
private var refreshSubscriptionSuccessBlock : SuccessBlock?
private var refreshSubscriptionFailureBlock : FailureBlock?
// MARK:- Main methods
@objc func startWith(arrayOfIds : Set<String>!, sharedSecret : String, callback : @escaping ProductsBlock){
SKPaymentQueue.default().add(self)
self.didLoadsProducts = callback
self.sharedSecret = sharedSecret
self.productIds = arrayOfIds
loadProducts()
}
func expirationDateFor(_ identifier : String) -> Date?{
return UserDefaults.standard.object(forKey: identifier) as? Date
}
func isActive(product : SKProduct) -> Bool {
if let date = expirationDateFor(product.productIdentifier), Date() < date {
return true
} else {
return false
}
}
}
Solution 1:[1]
You can set a static variable in AppDelegate class and access it where do u want
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ahmet U?ur |
