Restore purchases stopped working on macOS Catalina (Sandbox)

Hello,

Environment
macOS Catalina 10.15.6
Xcode 11.6, Xcode 12 beta 6
App Sandbox

Problem: A call to SKPaymentQueue.default().restoreCompletedTransactions() suddenly stopped calling paymentQueue(:updatedTransactions:) and directly invokes paymentQueueRestoreCompletedTransactionsFinished(:)

I have an unreleased Mac app with a few non-consumables, and one of the IAP has Apple hosted content.

Until a few days ago, both the in-app purchases & restore purchases were working fine, paymentQueue(:updatedTransactions:) was called during purchase and as well as restore flow, and the content was successfully downloaded.

With no code changes to StoreKit flow, the restore purchases stopped working and paymentQueue(
:updatedTransactions:) is no longer called. Now, it goes straight to paymentQueueRestoreCompletedTransactionsFinished(_:).

Code Block swift
    func paymentQueueRestoreCompletedTransactionsFinished(_ queue: SKPaymentQueue) {        
        if (queue.transactions.count == 0) {
            #if DEBUG
            print ("zero restore transactions")
            #endif
        }
       ...
    }

I have looked into other forum questions, stack overflow, TN2413, and of course the documentation. Unfortunately, the problem persists.

I've filed FB8560139.

The only change I remember doing in the last few days is to install the macOS 10.15.6 supplemental update.

Appreciate any help!

Thanks



Answered by vag in 629839022
This seems to have resolved on its own, and paymentQueue(:updatedTransactions:) is now being called during restore flow.

Accepted Answer
This seems to have resolved on its own, and paymentQueue(:updatedTransactions:) is now being called during restore flow.

Restore purchases stopped working on macOS Catalina (Sandbox)
 
 
Q