There is a condition where receipts cannot be retrieved for test flight delivery.

Enviloment : TestFlight

AppleAccount : sandbox

The problem that is happening : Unable to get receipt with storeKit.requestReceipt

Prerequisite :

The form to input ID and password is displayed even if the user is already logged in to AppleAccount (not displayed when normal).

The same operation is not reproduced by using the sandbox during debug builds.


- (void)requestReceiptWithBlocks:(ReceiptCallback)callback
{
    self.receiptCallback = callback;
    SKReceiptRefreshRequest *receiptRequest = [[SKReceiptRefreshRequest alloc] init];
    receiptRequest.delegate = self;
    /** When start() is executed, iOS displays the "Sign in to iTunes Store" dialog if you are not yet logged in to the iTunes Store  */
    [receiptRequest start];
}

storeKit.requestReceipt { success, receipt in
    guard success, receipt != nil else {
        if success {
            // receipt nil
        } else {
            // requestReceipt failed
        }
    }
}

Does anyone know why the receipt would be in a state where it cannot be retrieved? Thank you.

There is a condition where receipts cannot be retrieved for test flight delivery.
 
 
Q