Corona SDK macOS App Pushing to App Store

The only hangup I’ve had in getting my macOS App auto-pushed to the App Store is with a Mac Installer Certificate. I had never heard of these and the Corona OSX docs didn’t tell me how to make one so I had to hunt it down on the internet.

Here’s the critical piece of information you need to know to generate a Mac Installer Certificate. Go to developer.apple.com, certificates, and under the Certificates section click on Distribution.

Select “Developer ID” as the certificate you want to generate. This will create a Mac Installer Certificate (after you use Keychain Access to request a cert).

Wrp2d3X.png?1

So now the last step is to just build the OSX App in the Corona SDK. Well, it gets to the part where you choose the code signing identities and the new Installer identity doesn’t show up. I quit Corona SDK and re-ran it several times hoping it would show up but it never does. 

I can’t push my macOS App to the App Store until this is resolved. This is where I’m stuck:

4feTxtN.png

Did you create a provisioning profile, download it and copy/move it into ~/Library/MobileDevice/Provisioning Profiles/

(and if course restart Corona afterwards)

Rob

Yes, I created a Mac App Store provisioning profile for it. The problem is the Mac Installer Certificate isn’t showing up in the dialog.

Here is my process:

– 1. Delete the old macOS app before building.

– 2. Comment-out the Steamworks plugin

– 3. Quit and re-run Corona SDK

– 4. Set the provisioning profile to Mac App Store.

– 5. Build the app with Upload to the Map App Store; select proper certificates.

It gets all the way to the part where I have to choose the code signing entities for the Application and Installer. My Installer certificate doesn’t show up, even though it’s visible in Keychain Access.

Do I need to copy the Installer Certificate somewhere so Corona SDK can see it?

Here’s the error I got:

5YBW49s.png

This is probably far fetched, but do you have any expired certificates in your keychain?

Expired certificates have caused unpredictable certificate behaviour on my computer a couple of times.

I didn’t have any. I just deleted some that weren’t trusted. 

I am wondering if Corona SDK is filtering out Certificates that don’t start with “3rd Party Mac Developer Application: <name> (xxxxx)”

Mine says “Developer ID Installer: Romero Games Ltd. (xxxxxxxxx)”

I think the developer ID Installer is a different certificate that isn’t used for signing the installer.

It has been a while since I installed these certificates but I seem to remember I got a bit confused because I had to create a lot of certificates.

I think you need to create one more certificate that is called 3rd Party Mac Developer Installer: Romero Games Ltd. (xxxxxxxxx), but I don’t remember the exact process. I think it was almost the same as creating the 3rd Party Mac Developer Application certificate.

Yes I just checked my keychain and I have these certificates installed for MacOS:

Developer ID Application

Developer ID Installer

3rd Party Mac Developer Application

3rd Party Mac Developer Installer

You need all four of them to submit to MAS.

It does filter for “3rd Party Mac Developer Application: <name> (xxxxx)”.  Apple requires Mac App Store submissions be signed with that type of identity.

See Your Signing Certificates in Depth on Apple’s Developer site.

It turns out that there are multiple places on developer.apple.com where you can get a Developer ID certificate. Only one of those places will result in one that says “3rd Party Developer” in it.

Basically, this is how you get a 3rd Party Developer Installer Certificate:

  1. Log into developer.apple.com

  2. Click Developer at the top right

  3. Click on Certificates, Identifiers & Profiles

  4. The pull-down at the top left should be on “OS X”

  5. Under Certificates, select Production

  6. On the right, click the +

  7. Under Production, select the first option “Mac App Store”. Notice it says “Sign your Mac App and Mac Installer Package for submission to the Mac App Store”

  8. Click Continue

  9. Select Mac Installer Distribution

  10. Click Continue

  11. Run Keychain Access

  12. Follow the instructions to generate the CSR file

  13. Click Continue

  14. Click Choose FIle… and select the CSR you just created

  15. Click Download

  16. Go to the Certificate you downloaded and double-click it to install it into Keychain Access

That’s it. Your Certificate is installed…for a Mac Installer.

My game was successfully sent to the Mac App Store!

Did you create a provisioning profile, download it and copy/move it into ~/Library/MobileDevice/Provisioning Profiles/

(and if course restart Corona afterwards)

Rob

Yes, I created a Mac App Store provisioning profile for it. The problem is the Mac Installer Certificate isn’t showing up in the dialog.

Here is my process:

– 1. Delete the old macOS app before building.

– 2. Comment-out the Steamworks plugin

– 3. Quit and re-run Corona SDK

– 4. Set the provisioning profile to Mac App Store.

– 5. Build the app with Upload to the Map App Store; select proper certificates.

It gets all the way to the part where I have to choose the code signing entities for the Application and Installer. My Installer certificate doesn’t show up, even though it’s visible in Keychain Access.

Do I need to copy the Installer Certificate somewhere so Corona SDK can see it?

Here’s the error I got:

5YBW49s.png

This is probably far fetched, but do you have any expired certificates in your keychain?

Expired certificates have caused unpredictable certificate behaviour on my computer a couple of times.

I didn’t have any. I just deleted some that weren’t trusted. 

I am wondering if Corona SDK is filtering out Certificates that don’t start with “3rd Party Mac Developer Application: <name> (xxxxx)”

Mine says “Developer ID Installer: Romero Games Ltd. (xxxxxxxxx)”

I think the developer ID Installer is a different certificate that isn’t used for signing the installer.

It has been a while since I installed these certificates but I seem to remember I got a bit confused because I had to create a lot of certificates.

I think you need to create one more certificate that is called 3rd Party Mac Developer Installer: Romero Games Ltd. (xxxxxxxxx), but I don’t remember the exact process. I think it was almost the same as creating the 3rd Party Mac Developer Application certificate.

Yes I just checked my keychain and I have these certificates installed for MacOS:

Developer ID Application

Developer ID Installer

3rd Party Mac Developer Application

3rd Party Mac Developer Installer

You need all four of them to submit to MAS.

It does filter for “3rd Party Mac Developer Application: <name> (xxxxx)”.  Apple requires Mac App Store submissions be signed with that type of identity.

See Your Signing Certificates in Depth on Apple’s Developer site.

It turns out that there are multiple places on developer.apple.com where you can get a Developer ID certificate. Only one of those places will result in one that says “3rd Party Developer” in it.

Basically, this is how you get a 3rd Party Developer Installer Certificate:

  1. Log into developer.apple.com

  2. Click Developer at the top right

  3. Click on Certificates, Identifiers & Profiles

  4. The pull-down at the top left should be on “OS X”

  5. Under Certificates, select Production

  6. On the right, click the +

  7. Under Production, select the first option “Mac App Store”. Notice it says “Sign your Mac App and Mac Installer Package for submission to the Mac App Store”

  8. Click Continue

  9. Select Mac Installer Distribution

  10. Click Continue

  11. Run Keychain Access

  12. Follow the instructions to generate the CSR file

  13. Click Continue

  14. Click Choose FIle… and select the CSR you just created

  15. Click Download

  16. Go to the Certificate you downloaded and double-click it to install it into Keychain Access

That’s it. Your Certificate is installed…for a Mac Installer.

My game was successfully sent to the Mac App Store!