Publishing Your App for Mac Catalyst

Preparing For Publish

Building your app

Packaging your app using Mac Catalyst

Important

Publishing for Mac Catalyst is only supported on macOS

First, you'll need to setup to be able to build Mac Catalyst apps. You can follow these steps for publishing .NET Mac Catalyst apps.

Important

If you intend to publish your app on TestFlight, make sure that the provisioning profile has the "Profile type" set to "Mac" and not "Mac Catalyst". Using "Mac Catalyst" will crash the app in similar ways to this .NET issue.

Then, you'll need to setup your csproj to include the signing information:

<Choose>
  <When Condition="'$(TargetFramework)'=='net8.0-maccatalyst'">
    <PropertyGroup Condition="'$(Configuration)'=='Release'">
      <CodeSigningKey>Apple Distribution: [YourCompany]. (Your ID)</CodeSigningKey>
      <PackageSigningKey>3rd Party Mac Developer Installer</PackageSigningKey>
      <EnablePackageSigning>true</EnablePackageSigning>
      <EnableCodeSigning>true</EnableCodeSigning>
      <CodesignProvision>[Your provisioning profile name]</CodesignProvision>
    </PropertyGroup>
  </When>
</Choose>

To build your app from the CLI on macOS:

  • Open a terminal, command line, or powershell

  • Navigate to your csproj folder

  • Publish the app using:

    dotnet publish -f net8.0-maccatalyst -c Release -p:CreatePackage=true -o ./publish
    

The output .pkg file will be in the publish folder.

Tip

To create a .app folder, set the CreatePackage parameter to false.

Publishing your app

Publishing your app is done through the transporter app on macOS.