Because the receipt file doesn't exist at the following path, my application exits with error code 173.
/Applications/Notched Up.app/Contents/_MASReceipt/receipt
However unlike in the past where it then re-launches and works, I'm now getting the error message that this application is damaged and must be re-downloaded from the App Store.
In the console I see the following messages.
error 12:35:02.553477+0800 Notched Up (com.apple.libsqlite3) cannot open file at line 45340 of [d24547a13b]
error 12:35:02.553498+0800 Notched Up (com.apple.libsqlite3) os_unix.c:45340: (2) open(/var/db/DetachedSignatures) - No such file or directory
default 12:35:04.481080+0800 storeuid (com.apple.commerce) Fetching missing receipt for sandbox app /Applications/Notched Up.app
default 12:35:04.707374+0800 storelegacy (com.apple.commerce) StoreLegacy: Failed to perform in-line receipt renewal for application at path /Applications/Notched Up.app : 'Error Domain=com.apple.commerce.client Code=500 "(null)"'
My gut is telling me that something internal related to the App Store isn't working correctly as this code was functional a couple of weeks ago and while the first two lines show sql, this app doesn't use sqlite.
- App is signed with "Apple Distribution".
- Have tested app with "Apple Development".
- Have removed entitlements that need a profile and the provisioning profile.
- The App Store application shows the correct "Sandbox" tester account (in the preferences).
- I've logged the test account out and back in.
- I've verified that tester account is the same store locale as my main account.
- I've rebooted this i9 16" MBP running macOS 12.0.1, even thought it rebooted itself last night, because ????
Any advice, can you spot something I've done wrong?
I have been able to get SKReceiptRefreshRequest working, but it's a PITA because it is asynchronous, so it can pop-in while the user is working in the app, which means you can't just terminate any more and must think of how to handle the app's flow for the App Store DRM.