ASDServerErrorDomain Error when trying to do receipt validation

504 Views Asked by At

I'm using the following code for receipt validation in appstore.If the receipt is not present the user is asked to login.This is the class i use.

ReceiptFetcher

import Foundation
import StoreKit

class ReceiptFetcher : NSObject {
    
    public var receiptRefreshRequest = SKReceiptRefreshRequest()
    
    override init() {
        super.init()
       // receiptRefreshRequest.delegate = self
    }
    
    func fetchReceipt() {
       
        let receiptPath = Bundle.main.appStoreReceiptURL?.path
     
        
        do {
             receiptRefreshRequest.start()
        }
        catch {
            print("Could not check for receipt presence for some reason... \(error.localizedDescription)")
            
        }
  
}
}

Checking if the receipt exists and if not trying to fetch receipt.For the current scenario there is no receipt and the debugger hits the fetchreceipt block.

 if !FileManager.default.fileExists(atPath: receiptPath!){
        receiptFetcher.receiptRefreshRequest.delegate=self
        receiptFetcher.fetchReceipt();
        }
        else
        {
            receiptValidation()
        }

func request(_ request: SKRequest, didFailWithError error: Error) {
        
         print("Something went wrong: \(error.localizedDescription)")
        DispatchQueue.main.async {
            if let presenter = self.presenting as? ViewController {
                                  presenter.showreceipterror()
                                  self.dismissViewController(self)
                                  NSApplication.shared.terminate(self)                                    
                              }
        }

This leads to the following error.Sandbox box capability is turned on with outgoing connections allowed.Earlier i was able to login as a sandbox user successfully,i think the issue started after i removed the user from appstore connect.I had cleared the existing receipt by taking a fresh build.

   0x600001c59ae0>: Finished refreshing receipt with error: Error Domain=ASDServerErrorDomain Code=500317 "Unhandled exception" UserInfo={NSLocalizedDescription=Unhandled exception, NSLocalizedFailureReason=An unknown error occurred}
0

There are 0 best solutions below