问题
I have a commercial macOS app I distribute in the Mac App Store. Now at startup I check for the App Store receipt and exit with code 173 if it is not present. This brings up the App Store sign in dialog in order to get a receipt.
I have always tested this with sandbox accounts but now I only get errors when I try to sign in with a sandbox account (or my real Apple ID).
The issue emerges when I start from XCode as well as when I export the app as a development build.
I have the following setup:
- macOS 10.15.1
- XCode 11.2
- App signed with valid development certificate
I have tried the following:
- Sign out of App Store app
- Restart Mac
- Tripple verified email and password
- Create new sandbox user in App Store Connect
- Ran
codesign -vvvv
which reports everything is fine
I do, however, see the following error on the Console, but could not figure out what it is supposed to mean:
StoreLegacy: Failed to perform in-line receipt renewal for application
at path /Users/me/Library/Developer/Xcode/DerivedData/MyApp-alwjuasqcasdfaufnnxhqeoo/Build/Products/Debug/MyApp.app :
'Error Domain=com.apple.commerce.client Code=600 "(null)"'
Has anybody seen this before?
Update
It works as expected on Mojave. So I assume this is an issue with Catalina.
回答1:
@codingFriend1 - Thanks. I should have posted the workaround. It seems the problem was that I'm in the UK and my test account was with the UK app store. I created a new tester with the US app store and that worked.
The resulting certificate works with UK tester. I don't think it used to be like this, but hey ho!
It was this that finally got it working for me but there may be other problems.
来源:https://stackoverflow.com/questions/58673379/getting-app-store-receipt-for-sandbox-user-fails-with-incorrect-password-message