Skip to content

Developing a Maui Blazor MacCatalyst app for Apple macOS store is a terrible experience #12293

@Jinjinov

Description

@Jinjinov

Description

There are many things that could be better.

Developing a MacCatalyst app:

    <EnableCodeSigning>True</EnableCodeSigning>
    <CodesignKey>3rd Party Mac Developer Application: Jinjinov (**********)</CodesignKey>
    <EnablePackageSigning>true</EnablePackageSigning>
    <PackageSigningKey>3rd Party Mac Developer Installer: Jinjinov (**********)</PackageSigningKey>

Publishing a MacCatalyst app on Apple macOS store:

  • rejected when trying to upload with Transporter: The product archive package's signature is invalid. Ensure that it is signed with your "3rd Party Mac Developer Installer" certificate. A commented section in csproj that the developer could un-comment would be helpful here.

  • rejected when trying to upload with Transporter: The product archive is invalid. The Info.plist must contain a LSApplicationCategoryType key, whose value is the UTI for a valid category. For more details, see "Submitting your Mac apps to the App Store". Some indication in Visual Studio would be helpful here. I had to add:

	<key>LSApplicationCategoryType</key>
	<string>public.app-category.productivity</string>
  • rejected when trying to upload with Transporter: Invalid bundle. The bundle supports arm64 but not Intel-based Mac computers. Your build must include the x86_64 architecture to support Intel-based Mac computers. A commented section in csproj that the developer could un-comment would be helpful here: <RuntimeIdentifiers>maccatalyst-x64;maccatalyst-arm64</RuntimeIdentifiers>

  • rejected when trying to upload with Transporter: Invalid Bundle. The key UIDeviceFamily in the app's Info.plist file contains one or more unsupported values '1'. (ID: e98a0fc1-d792-4b2d-854c-51a5d1649c82) I had to change

	<key>UIDeviceFamily</key>
	<array>
		<integer>1</integer>
		<integer>2</integer>
	</array>

to

	<key>UIDeviceFamily</key>
	<array>
		<integer>2</integer>
	</array>
  • rejected when trying to upload with Transporter: App sandbox not enabled. The following executables must include the "com.apple.security.app-sandbox" entitlement with a Boolean value of true in the entitlements property list Adding a Platforms/MacCatalyst/Entitlements.plist file and <CodesignEntitlement>Platforms/MacCatalyst/Entitlements.plist</CodesignEntitlement> inside csproj would be helpful here. I had to add:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>com.apple.security.app-sandbox</key>
    <true/>
  </dict>
</plist>

Steps to Reproduce

  1. Create a new Maui Blazor project
  2. Try to publish a Maui Blazor MacCatalyst app on Apple macOS store

Link to public reproduction project repository

https://github.com/Jinjinov/Ididit

Version with bug

7.0 (current)

Last version that worked well

Unknown/Other

Affected platforms

macOS

Affected platform versions

macOS Ventura 13.1

Did you find any workaround?

No response

Relevant log output

No response

Metadata

Metadata

Labels

User StoryA single user-facing feature. Can be grouped under an epic.area-publishingIssues with the app packaging/publishing process (ipk/apk/msix/trimming)p/1Work that is important, and has been scheduled for release in this or an upcoming sprintpartner/maciosIssues for the Mac / iOS SDKplatform/macosmacOS / Mac Catalystt/bugSomething isn't working

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions