// // KMNewUserGiftManager.swift // PDF Reader Pro // // Created by User-Tangchao on 2025/1/8. // import Cocoa //@objc enum KMWindowShowState: UInt { // case undetermined // case no // case yes //} @objcMembers class KMNewUserGiftManager: NSObject { static let `default` = KMNewUserGiftManager() // 登陆进度状态 var loginProgressState: KMProgressState = .none // 获取凭证进度状态 var fetchReceiptProgressState: KMProgressState = .none var iapProductLoadProgressState: KMProgressState = .none var advertisementProgressState: KMProgressState = .none var hasTopRightAdvertisement = false var progressState: KMProgressState { get { if loginProgressState == .none { return .none } if fetchReceiptProgressState == .none { return .none } if advertisementProgressState == .none { return .none } #if VERSION_DMG #else if iapProductLoadProgressState == .none { return .none } if iapProductLoadProgressState == .failure { return .failure } #endif if loginProgressState == .failure { return .failure } if fetchReceiptProgressState == .failure { return .failure } if advertisementProgressState == .failure { return .failure } return .success } } // 是否需要显示新手礼 func needShow() -> Bool { if self.progressState == .none { return false } if KMMemberInfo.shared.isMemberAllFunction { // 有权益 (本地 & 账号) return false } if hasTopRightAdvertisement { // 右上角有广告 return false } #if VERSION_DMG return true #else // 是否能享受新手礼 【Apple ID】 let man = IAPProductsManager.default() guard let model = man?.receiptModel else { return false } // 商品是否配置了新手礼 guard let price = man?.fourDevicesAllAccessPackNew6Months_lite?.introPrice(), price.isEmpty == false else { return false } guard let groupId = man?.fourDevicesAllAccessPackNew12months_lite?.product?.subscriptionGroupIdentifier, groupId.isEmpty == false else { return false } return IAPReceiptTool.isNewUser(with: model, withGroupIdentifier: groupId) #endif } }