杨锴
2025-04-16 09a372bc45fde16fd42257ab6f78b8deeecf720b
XQMuse/Config/StoreKit/InPurchaseManager.swift
@@ -110,28 +110,6 @@
        }
    }
    func getIPAPrice(_ price:Int,clouse:@escaping (SKProduct)->Void){
        var ipaId = ""
        switch price {
            case 98: ipaId = "com.jkfitness.a.price.1"
            case 298:ipaId = "com.jkfitness.a.price.2"
            case 488:ipaId = "com.jkfitness.a.price.3"
            case 698:ipaId = "com.jkfitness.a.price.4"
            case 998:ipaId = "com.jkfitness.a.price.5"
            default:break
        }
        var productIds = Set<String>()
        productIds.insert(ipaId)
        InPurchaseManager.instance().setProductList(productIds) {products in
            if let product = products.first{
                clouse(product)
            }
        }
    }
    func dismiss(){
        InPurchaseManager._sharedInstance = nil
    }
@@ -249,56 +227,6 @@
                }
            }else{
                print("Nothing to Restore")
            }
        }
    }
    //获取APP 首次安装时间
    func test1(){
        let queue = DispatchQueue(label: "inapppurchasequeue")
        queue.async {
            let receiptURL = Bundle.main.appStoreReceiptURL
            guard receiptURL?.path != nil else { return }
            do {
                let receiptData = try Data(contentsOf: receiptURL!, options: .alwaysMapped)
                let base64EncodedReceipt = receiptData.base64EncodedString(options: [])
                var verifyReceipt:String = AppleReceiptValidator.VerifyReceiptURLType.sandbox.rawValue
#if !DEBUG
                verifyReceipt = AppleReceiptValidator.VerifyReceiptURLType.production.rawValue
#endif
                let purchaseURL = URL(string: verifyReceipt)!
                var request = URLRequest(url: purchaseURL)
                request.httpMethod = "POST"
                request.setValue("application/json", forHTTPHeaderField: "Content-Type")
                let jsonBody: [String: Any] = [
                    "receipt-data": base64EncodedReceipt,
                    "password": ShareAppleKey // 你的共享密钥
                ]
                let jsonData = try JSONSerialization.data(withJSONObject: jsonBody, options: [])
                request.httpBody = jsonData
                let session = URLSession.shared
                let task = session.dataTask(with: request) { (data, response, error) in
                    if let error = error {return}
                    guard let data = data else { return }
                    do {
                        if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
                            print(json)
                            if let purchageModel = PurchaseModel.deserialize(from: json),purchageModel.status == 0{
                            }
                        }
                    } catch {
                        print("JSON processing failed: \(error)")
                    }
                }
                task.resume()
            } catch {
                print("Error reading receipt data: \(error)")
            }
        }
    }