Everything was working perfectly under Mountain Lion. Mavericks, not so much.
The issue: I'm unable to carry out any receipt verification testing under Mavericks.
I'm using Receigen (Mac App Store/MAS) to generate both startup and in-app purchase receipt verification. I'm using Xcode 5.02 under Mavericks 10.9.
Here is the way it worked under Mountain Lion…
Archive the app and export it to an application. Make sure you are logged out of your personal MAS id. You'll use your iTunes Connect testing ID later. From the Finder, run your exported app.
After you launch your application, the following occurs:
• Your application fails to validate its receipt because there is no receipt present, and it exits with a status of 173. This is expected.
• The system interprets the exit status and attempts to obtain a valid receipt. Assuming your application signing certificate is valid, the system installs a valid receipt for the application. The system should prompt you for your MAS credentials. You will use your testing account here.
• The system relaunches your application, and your application successfully validates the receipt.
This is what happens under Mavericks…
Same as above - archive/testing MAS ID/Finder run app.
However, now I receive this in the Console: Exited with code: 173 [this should be okay just like above] storeagent: Unsigned app (path/to/app).
???
No MAS credentials. Nothing. I've triple checked the code signing using both the Organizer/Validate as well as Receigen. Both tell me my app is signed properly with no issues.
Funny thing, I've submitted the app to the app store and after approval, it works. So it's signed correctly and receipt validation is working.
But, I'm unable to carry out any receipt verification testing. That's the issue.
Thanks for your time. Kevin
With the help of the Receigen author (Laurent Etiemble), executing the following commands helped me:
spctl -vvvvv --assess <YourApp>.app
For the app I submitted to Apple, I got the following message:
/Path/to/my/app/Tap Forms.app: rejected
To fix it, you need to do this:
spctl --add --requirement "anchor apple generic and certificate leaf[subject.CN] = \"3rd Party Mac Developer Application: <Your company name> (<Your organization ID>)\"" --label "MAS"
Then when you execute the spctl -vvvv --assess .app command, you get this:
/Path/to/my/app/Tap Forms.app: accepted
source=MAS
origin=3rd Party Mac Developer Application: <Your company name> (<Your organization ID>)
So now I've resubmitted my app and we'll see if it gets rejected for not being able to launch.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With