by Jon (Updated on 2015-10-17)
The Mac App Store provides great visibility to Mac games that would otherwise fly under the radar. Publishing a game that already runs on the Mac target takes just a few additional steps. While this involves setting up certificates like on iOS, the overall process is simpler and less prone to issues.
In order to publish an app to the Mac App Store, you must sign it. This requires a few certificates.
Unlike iOS, Stencyl doesn’t require a p12 or mobileprovision file to sign an app for Mac. If you’ve already installed your Mac App and Mac Installer certificates (from Apple's developer portal), skip down to Step 2.
Explained: The reason why a p12 or mobileprovision file is not required is because we're building the app directly from the Mac, hence it's OK to just install the certificates directly.
If you’ve done everything correctly, you should have installed the following 3 certificates:
You can verify their installation through the Keychain Access app. You should find something like the following.
First, you need to set up an App ID for your app, much like how you have to set up an App ID for an iOS App.
Once the App ID is setup, enter that App ID into Stencyl. You can do this from Settings > Desktop > Mac App Store.
From the main menu, go to Publish > Desktop > Mac App Store.
After compiling and packaging the app, it’ll save it out as a PKG archive. This is what you provide to Apple in the Mac Developer Center.
Note: You may get a couple popups in this process about codesign and product build wanting to use your keys. Click Allow or Always Allow.
If you attempt to double-click the PKG to test the installation process, it won’t necessarily install to Applications or Launchpad. Apple prefers to install the app to the same folder where the PKG is located, so it will appear that nothing happened. This isn’t the case once the app hits the store.
Certificates expire after a few years - the exact date is displayed in Keychain Access. You'll need to remake them if you want to update your app or publish new apps.