Mac App Store's Receipt Validation

Well I took the plunge and started the process to submit an ASOC app to the Mac App Store. Unfortunately, when I took a look at the Receipt Validation documentation, I ground to a halt. Anyone have any experience, tips or links to tutorials for this from the ASOC perspective. Everything I found was from the Objective-C perspective. Is that the only way to handle this? I’m guessing it is, but hoping it’s not. Thanks in advance for any info.

I know this YouTube videos although related to GameSalad framework look at what is referring to Xcode and iTunes Connect and Developer Center.

Creating Mac App Store certificates for your Mac Desktop games made with GameSalad

Working with your Provisioning Profiles for games made with GameSalad

Registering with Apple for GameSalad

Uploading your GameSalad game to Apple

If you already have your certificate set on Xcode your Building Settings ->Code Signing.
You also need to create your app bundle ID on Developer Resources

I’ll also publish an app to MacStore, any further infos will be appreciated, thanks.

You don’t have to do Receipt Validation – all you need is codesigning.

In Build Setting there is: Code Signing Identity: 3rd Party Mac Developer Application: MyNameSurname

Is this all that is needed?

From memory, that’s about it. You’ll get an error if it fails.

I didn’t know anything about code signing, so I’m glad you mentioned it. I took a look at it, and I think that I need some clarification on the difference between the two. My impression is that the code signing is an “app signature” that in essence verifies the identity and integrity of the application for OS X. Which seems different from receipt validation, which from what I understand, and need, is the verification that the app has been paid for via the app store, before letting it run. It would be great if code signing accomplishes the same thing, because it seems easier to do.

No, you’re right that they are different. But receipt validation is not required, and can’t be done from ASObjC.

“Can’t be done” meaning that I’d have to add some objective-c code, or “Can’t be done” meaning there is no way of doing this with ASOC. If it’s the latter, does that mean there is no way to sell ASOC applications via the mac app store, unless you don’t include any copy protection.

It means you’d have to include some Objective-C (and plain C) code.

Thanks. I was worried that’s what was required, but at least it’s possible. Time to pull out “AppleScriptObjC Explored” and a good obj-c book :-). I’m sure I’ll be back with questions.

I’ve just uploaded my ASOC app to iTunes connect. As you can’t upload a signed build or a zip file, I spent a little time find out how to end the process, here I share my experience.

I’ve already registered my App ID and created Mac Signing Certificates (see videos above), I find most infos on this Apple page: Submitting to the Mac App Store.

Read carefully all requirements. In my case (with Xcode 4) I’d to set to “DWARF with dSYM,” in build setting info and add a copyright string in MyApp-info.plist file. (Remember also to set Save as Execute-Only - YES in Build Setting-OSAComplie-build option (the last one) otherwise your applescript code will be editable).

You than need to archive, test and submit your app all inside Xcode 4.

A) Archive your app with these steps (open this help with ctrl-click on Organizer-Archives window)

1.From the Scheme pop-up menu, choose a scheme.
2.From the same menu, choose Edit Active Scheme to display the scheme dialog.
3.In the left column, select Archive.
4.Choose a build configuration.
5.Specify a name for the archive and click OK.
6.Choose Product > Archive.

B) To test your app use “Share” button in Organize-Archive window and save your pakage in your desired location.
Use terminal to install and check your installer package:

sudo installer -store -pkg path-to-package -target /

To check that your application gets installed in /Applications folder, remove all other app bundle you have in any build or debug folder (otherwise your packege will “upgrade” these one and not install it in /Application).

C) Then inside Organize-Archive window you have both a Validate and Submit button to submit your signed app package to iTunes connect. Done.

In this way you don’t have to use Application Loader.app

Hope this could help I’ll keep you update if my app will be approved.

Thanks for sharing. It’s very helpful. You didn’t mention anything about receipt validation. Is this going to be a free app?

Good luck! Keep us informed. I’d love to hear how it goes.

As Shane stated at #3 “You don’t have to do Receipt Validation – all you need is codesigning.”

Perhaps the tricky part is creating the Mac App Store certificates but video above is quite clear.

I’ll keep you informed and share some promo code to everyone is interested.

My apps are now available form Mac App Store:
MoviesHunt - Free
http://itunes.apple.com/us/app/movieshunt/id445877823?mt=12&ls=1
MoviesHunt Pro - $ 0,99
http://itunes.apple.com/us/app/movieshunt-pro/id445879364?mt=12&ls=1

PM me if you are interested in a promo code.