123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- //
- // KMPurchaseManager.swift
- // PDF Master
- //
- // Created by lizhe on 2023/6/1.
- //
- import Cocoa
-
- enum KMPurchaseManagerState: String, CaseIterable {
- case unknow = "unknow"
- case trial = "Trial" //试用
- case trialExpired = "Trial Expired" //试用过期
- case subscription = "Subscription" //订阅
- case subscriptionExpired = "Subscription Expired" //订阅过期
- }
- #if VERSION_DMG
- #endif
- typealias KMPurchaseCompletion = (_ isSuccess: Bool, _ error: String) -> Void
- typealias KMPurchaseFetchProductCompletion = (_ isSuccess: Bool, _ products: Array<Any>, _ error: String?) -> Void
- class KMPurchaseManager: NSObject {
- public static let manager = KMPurchaseManager()
-
- var state: KMPurchaseManagerState = .unknow
- var availableProducts: [KMProduct] = []
-
- override init() {
- super.init()
-
- // self.fetchProducts { isSuccess, products, error in
- // if isSuccess {
- // print("获取产品成功")
- // } else {
- // print("获取产品失败")
- // }
- // print(products)
- // }
- }
-
- func fetchProducts(completeion: @escaping KMPurchaseFetchProductCompletion) {
- print("获取产品中")
- #if VERSION_FREE
- print("正在获取产品中AppStore")
- KMInAppPurchaseManager.manager.fetchProducts(completion: completeion)
- #endif
-
- #if VERSION_DMG
- print("正在获取产品中DMG")
- KMDMGPurchaseManager.manager.fetchProducts(completion: completeion)
- #endif
- }
-
- func purchaseProduct(productIdentifier: String, completion: @escaping KMPurchaseCompletion) {
- print("准备订阅中")
- #if VERSION_FREE
- print("正在订阅中AppStore")
- KMInAppPurchaseManager.manager.purchaseProduct(productIdentifier: productIdentifier, completion: completion)
- #endif
-
- #if VERSION_DMG
- print("正在订阅中DMG")
- KMDMGPurchaseManager.manager.purchaseProduct(productIdentifier: productIdentifier, completion: completion)
- #endif
- }
-
- func restorePurchases() {
- print("准备restore")
- #if VERSION_FREE
- print("正在restore")
- KMInAppPurchaseManager.manager.restorePurchases()
- #endif
-
- #if VERSION_DMG
- print("正在restore DMG")
- #endif
- }
- }
|