mastodon.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
The original server operated by the Mastodon gGmbH non-profit

Administered by:

Server stats:

279K
active users

catlan

macOS Sequoia: will be fun seeing this more often.

@catlan @hannesoid I must have missed this! Do you happen to know if there’s an official deprecation note from Apple somewhere? The only references I found so far are the screenshot shared here and this Cyberduck’s GitHub issue: github.com/iterate-ch/cyberduc

GitHubReceipt validation from Mac App Store fails on macOS 15 beta · Issue #16031 · iterate-ch/cyberduckBy Bettarg

@lukaskubanek @hannesoid they mentioned deprecation of "Original API for In-App Purchase", but nothing about the removal of the exit(173).

@catlan @lukaskubanek oh, I didn‘t know about the full extent of this, the removal of exit(173) is new to me

@hannesoid @catlan Me neither! I kept calm since there was no related announcement in your AppReceiptValidator repo. 🙈

@catlan @hannesoid Thanks! Since exit(173) is the macOS counterpart to SKReceiptRefreshRequest on iOS, I guess it falls into the same deprecation category. However, they say that the original API will continue to work. But then, exit(173) has had long phases of not working at all (example: github.com/structuredpath/Appl), so I'm not surprised if it’s been cut.

GitHubAppleBugReports/FB9789052/README.txt at main · structuredpath/AppleBugReportsOur collection of bug reports submitted to  Feedback Assistant - structuredpath/AppleBugReports

@lukaskubanek @catlan @hannesoid I would like to move to AppTransaction, but last time I checked it didn't support volume purchases (VPP). For apps bought in Apple School Manager, it showed an Apple ID login prompt instead.

exit(173) now shows the "API no longer available" alert when I run a build from Xcode 16 on macOS 15, but it still actually refreshes the receipt anyway.

I wonder in which circumstances exactly this alert is shown. Maybe only when using the sandbox environment?

@lextar @lukaskubanek @catlan thanks for that information, if it still refreshes the receipt it’s less problematic than I thought

@lextar @catlan @hannesoid Hi Alex, I haven’t yet looked into the new StoreKit APIs in depth and honestly I’d prefer not touching this code. I have migration paths for upfront/VPP to IAP and it would be so much work to port it while keeping everything working the same.

@lextar @catlan @hannesoid VPP suffers from even bigger issues, though. It’s super neglected. Still not compatible with subscriptions or even IAPs. From what I’ve heard, Mac app devs tend to handle volume purchases via their own stores and use in-app activation. See the Ulysses store: license.ulysses.app/checkout

license.ulysses.appSign Up | Ulysses Volume Licensing

@lextar @catlan @hannesoid And as far as the new alert goes, I have no idea when this shows up. So far, only a single Diagrams user contacted me with a MAS issue that seemed related, but I think they sorted it out by reinstalling the app from the store.

Thanks for sharing the bit about the receipt still being refreshed. Have you tried this in production or sandbox?

@lextar @catlan This post by @mjtsai plus the comments seem highly relevant: mjtsai.com/blog/2024/10/04/dam

It’s apparently a broader issue related to expired receipt certificates and a new way of obtaining the MAC address for validation. I’m using AppReceiptValidator by @hannesoid, and I think they have tried addressing the latter in the past.

Still, I don’t see any actionable steps there other than asking the affected users to reinstall the app from the MAS (and pointing the finger at Apple).

mjtsai.comMichael Tsai - Blog - “Damaged” Mac App Store Apps

@lukaskubanek @lextar @catlan @mjtsai I don’t think we’ve run into MAC address issues recently but we do have cases where app receipts contain an invalid expired certificate (looks like an AppStore bug), and we tell people to delete & reinstall the app.

@lukaskubanek @catlan @hannesoid I tried two things:

I made a Release build of my app using Xcode 16 and ran it on macOS 15 - so this uses the macOS 15 SDK and the sandbox environment. My receipt validation code exited with code 173. This showed the new "exit(173) Not Available" alert, but it also successfully downloaded a sandbox receipt despite the alert.

I also have the same app installed from the Mac App Store on that same machine - but that version was built with Xcode 15 and the macOS 14 SDK and uses the production environment. I removed the "receipt" file from the "Contents/_MASReceipt" folder and launched the app. This did NOT show the "exit(173) Not Available" alert. It also successfully download a new receipt and launched the app.

I do not (yet) have a version of the app built with Xcode 16 using the production environment.

So I'm not sure if the Xcode/macOS SDK version or the sandbox vs production environment makes the difference.

@lextar @catlan @hannesoid Interesting, thanks for sharing the findings! I’m still on macOS 14 and I can’t really perform these tests in a VM (not able to log into App Store and no dev environment set up). When I get to updating to macOS 15, I’ll post my results in this thread as well.