Search code examples
xamarinmac-app-store

Xamarin and Choosing Provisioning Profile for Distribution via Mac App Store


I'm trying to upload a mac app to the Mac App Store. I have done this successfully with an iOS app, but this is the first time with a mac app.

I have an Apple Distribution Certificate:

enter image description here

plus a Provisioning Profile for the Mac App Store which used the above cert:

enter image description here

The Cert is installed on my machine (downloaded it, double clicked). I can see it in Keychain Access.

I now want to upload the Mac App to the AppStore. Per this document, I need to set the developer ID and provisioning profile for the application and installer package.

So in Visual Studio 2019, I open preferences and head to "Apple Developer Accounts", select my dev account, my apple ID, and click "View Details". I see my certificates there, plus my Provisioning Profile "XXXX Mac App Store Provisioning Profile" (per the above diagram). Note that I have previously clicked "Download All Profiles" to get this profile installed locally.

I now open options for the Mac App project itself, select "Mac Signing". Here's where things get weird:

a) The identities are correct. So I select the correct Developer ID. b) the provisioning profiles are not correct. In fact it contains 2 old entries, and 1 entry I have not heard of. It does not show any of the provisioning profiles from the "VS | Preferences | Apple Developer Accounts". c) It does show my "Developer ID Installer" cert for the installer.

Since I can't select any of my profiles, I select:

  • Identity: My Developer ID
  • Provisioning Profile: Automatic
  • Installer Package Identity: my "Developer ID Installer" cert.

I rebuild, "Archive For Publishing", and then attempt "Sign and Distribute".
I select "App Store" and get "No valid Provisioning Profile found"

What am I missing here? VS can see my profiles and certs. But in the specific Mac project, those profiles do not show up, only some old cruft.

I'd appreciate any advice. Thx. Paul.


Solution

  • My comment above resolved the issue:

    Apple Distribution certificate (which is SUPPOSED to be for MacOS, tvOS and iOS) doesn't work in Xamarin for Mac apps. However if I used Mac App Distribution certificate, and create a Mac App Store Provisioning Profile using that Mac App Distribution certificate - they both show up in the App Options | Signing. WTH?

    Bottom line is that you need to use Mac App Distribution certs, not Apple Distribution certs.