How to verify plain, non-inApp purchase with AppTransaction

Hi all,

I'm trying to switch from the 'exit(173)' method to using AppTransaction for a plain, paid app. My current attempt in swift looks like this:

Task {
        let shared = try await AppTransaction.shared
        switch (shared) {
        case .verified(let transaction):
            print("verified <3")
        case .unverified(let transaction, let error):
            print("unverified. :'(")
            exit(0)
        }
    }

However running this on my dev machine always ends up in the "verified <3" branch.

I am ruinning on macOS 15 and am pretty sure that on older systems with the exit(173) method, I would see a window asking me to log into my app store account...

I already created a new sandbox account and tried using an empty ".storekit" file... Am I doing something wrong in my code, or is the purchase coming from somewhere else? I already set the bundle-identifier to a non-existent one, but it still seems to think that there was a purchase.

Is there any documentation on how to do normal purchase / receipt validation for paid apps using AppTransaction? I only found in-app related docs :'(

I did another test with the app, running it in another user account on the same machine, and there it indeed opened the login window.

So, now I just have to figure out why the app in the dev account thinks it was purchased, but I don't really know how to do that. The purchases used to be stored in a _Receipt file in the app bundle, but I couldn't find that anymore. Did something about this change?

How to verify plain, non-inApp purchase with AppTransaction
 
 
Q