cannot connect to sandbox.itunes.apple.com

I have restore purchase feature for my app and I need to retrieve the original_application_version.

But connect to sandbox.itunes.apple.com always return NSPosixErrorDomain code 54 . Are you guys having the same issue?


Here's my code. Connection Error (line 40) when verify the receipt with sandbox link

- (void)requestDidFinish:(SKRequest *)request{
    if (request == _skReceiptRequest){
     
     
        NSURL* receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
        NSData* receipt = [NSData dataWithContentsOfURL:receiptURL];
        if (!receipt) {
            return;
        }
     
        NSError *error = nil;
        NSDictionary *requestContents = @{ @"receipt-data":[receipt base64EncodedStringWithOptions:0] };
        NSData *requestData = [NSJSONSerialization dataWithJSONObject:requestContents options:0 error:&error];
        if (!requestData) {
            NSLog(@"IAP No request");
            return;
        }
        [self verifyReceipt:TRUE requestData:requestData];
    }
}
- (void)verifyReceipt:(bool) envProduction requestData:(NSData *) requestData {
  
    NSUserDefaults* userDefaults = [NSUserDefaults standardUserDefaults];
     NSString* sandbox = @"https://sandbox.itunes.apple.com/verifyReceipt";
    NSString* production = @"https://buy.itunes.apple.com/verifyReceipt";

  
    NSURL *storeURL;
    if (envProduction) {
        storeURL = [NSURL URLWithString:production];
    } else {
        storeURL = [NSURL URLWithString:sandbox];
    }
    NSMutableURLRequest *storeRequest = [NSMutableURLRequest requestWithURL:storeURL];
    [storeRequest setHTTPMethod:@"POST"];
    [storeRequest setHTTPBody:requestData];

    NSOperationQueue *queue = [[NSOperationQueue alloc] init];
    [NSURLConnection sendAsynchronousRequest:storeRequest queue:queue completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
        if (connectionError) {
            NSLog(@"IAP_Error with verify receipt: %@", connectionError);
        } else {
            NSError *error = nil;
            NSDictionary *jsonResponse = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error];
            if (error) {
                NSLog(@"IAP_Error with jsonResponse: %@", error);
                [purchaseDelegate failedToVerifyReceiptWithApple:error];
            } else {
                NSInteger result = [[jsonResponse valueForKey:@"status"] integerValue];
                if (result == 0) {
                    NSDictionary* receiptDict = [jsonResponse objectForKey:@"receipt"];
                    NSString* original_application_version = [receiptDict objectForKey:@"original_application_version"];                  
                }
                else if (result == 21007) {
                    [self verifyReceipt:FALSE requestData:requestData];
                }
                else if (result == 21008) {
                    [self verifyReceipt:TRUE requestData:requestData];
                }
                else {
                }
            }
        }
    }];
}

Thanks,

cannot connect to sandbox.itunes.apple.com
 
 
Q