杨锴
2024-11-14 1cc03dff6006c235686f87fe0f80af2fde97abf4
XQMuse/Config/StoreKit/InPurchaseManager.swift
@@ -110,26 +110,26 @@
        }
    }
    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 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(){
@@ -254,52 +254,52 @@
    }
    //获取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)")
            }
        }
    }
//    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)")
//            }
//        }
//    }
}