Transaction.unfinished not getting unfinished transactions

I am testing auto renewing subscriptions for a macOS program in Xcode with a local Storekit file.

I have renewals set to occur every minute for testing.

I quit the app, and watch renewals appear in the Debug transaction manager window. Each is marked unfinished.

When I start the app, I call a function that is supposed to get unfinished transactions and finish them. In one of those "I swore it worked the other day", I am now finding it isn't working. The unfinished transaction remain marked as unfinished.

func getUnfinished() async {
    for await verificationResult in Transaction.unfinished {
        guard case .verified(let transaction) = verificationResult else {
            continue
        }
        
        await transaction.finish()
    }
}

If I add an AppStore.sync() right before looping on Transaction.unfinished, it works (i.e., cleans up unfinished transactions), but I get an alert I have to click through.

do {
        try await AppStore.sync()
    } catch {
        print("DEBUG UNFINISHED: AppStore.sync() failed: \(error)")
    }

Any idea why Transaction.unfinished isn't fetching unfinished transactions for me (without the AppStore.sync)?

Please file a feedback assistant with a sysdiagnose and screen recording.



How to File Feedback assistant ticket? https://feedbackassistant.apple.com/

  • Login with your developer account,
  • Choose "iOS & iPadOS”
  • Choose AppStore
  • “Incorrect & Unexpected behavior"
  • Input the issue description and title.
  • Upload attachements
  • Click “Submit”
  • Copy the Ticket ID “FBxxxxxxx” and let us know.

To capture a system diagnose log. https://developer.apple.com/bug-reporting/profiles-and-logs/?platform=ios

Transaction.unfinished not getting unfinished transactions
 
 
Q