Repository navigation
Description
Description
There are many things that could be better.
Developing a MacCatalyst app:
-
Building a Release version on Visual Studio for Mac always builds for the first framework in TargetFrameworks, not the selected framework
-
Visual Studio for Mac can not run any MAUI project in Release mode:
-
it doesn't work with XCode 14.2 and iOS 16.2
-
Microsoft.AspNetCore.Components.Web.HeadOutletthrows exception in the trimmed version -
adding signing to csproj results in
error MSB6006: "codesign" exited with code 3.
<EnableCodeSigning>True</EnableCodeSigning>
<CodesignKey>3rd Party Mac Developer Application: Jinjinov (**********)</CodesignKey>
<EnablePackageSigning>true</EnablePackageSigning>
<PackageSigningKey>3rd Party Mac Developer Installer: Jinjinov (**********)</PackageSigningKey>
- can't open developer tools for Blazor:
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 incsprojthat 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 incsprojthat 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 listAdding aPlatforms/MacCatalyst/Entitlements.plistfile and<CodesignEntitlement>Platforms/MacCatalyst/Entitlements.plist</CodesignEntitlement>insidecsprojwould 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>
-
rejected because project name is used instead of application title: Can't set the app name in MacCatalyst project for macOSΒ #12287
-
I had to add
<key>ITSAppUsesNonExemptEncryption</key><false/>toInfo.plist. Some indication in Visual Studio would be helpful here. -
Maui Blazor template lacks entitlements necessary to submit to Apple macOS store
Steps to Reproduce
- Create a new Maui Blazor project
- 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
Activity
akhanalcs commentedon Dec 24, 2022
Microsoft should document all the issues and solutions you figured out. And hopefully make the whole experience better.
This was a great post. Thank you!
rachelkang commentedon Feb 17, 2023
@rolfbjarne thoughts on any of these issues here?
rolfbjarne commentedon Feb 22, 2023
This is great feedback! Thanks a lot!
I'm not sure what caused this, a binlog would likely be nice to diagnose.
Mac Catalyst will default to a universal (arm64+x64) build when building for a Release configuration (and just x64 for all other configurations).
But yes, we can add a comment to the templates as well.
For most of the other publishing issues I filed dotnet/macios#17591 to improve our templates and build logic. @rachelkang you might want to update your MAUI templates as well.
brightertools commentedon Mar 1, 2023
I am also trying to deploy to macOs and get things running.
This issue has helped me sign and get the app into TestFlight and distribute for testing.
dotnet/docs-maui#1187
Our app is a .net7.0, (non Blazor) MAUI app for windows/macOs, compiled on Monterey Intel mac and but crashes on another machine (Ventura M1 arm mac), this is all I have to test at the mo, so trying to work that out.
72 remaining items
mike3sullivan commentedon Jul 10, 2023
Apparently there is a bug in ILStrip on MacOS that can affect some functions (a DateTime.TryParse in my case).
dotnet/runtime#85414 (comment)
The workaround is to disable ILStrip via the project file:
false
Include this until they fix the problem, or who knows what might not work properly.
brightertools commentedon Jul 10, 2023
Hi @mike3sullivan
I have tried this via TestFlight, upload no. 59 :) but unfortunately hasn't had any visible results in this case, I do appreciate your reply and is good to know for future ref (and leaving it in for now)
I am contemplating making the repo public, and hesitant to reach out to individuals, I appreciate these are not all your problems....but certainly running out of logical options...
I can outline a few things in the app that might highlight anything to check:
(issues existed before Telerik controls added)
dustin-wojciechowski commentedon Jul 27, 2023
@brightertools Would you mind making a new issue (if you haven't already) for your issue with the XAML page not rendering so that we can take a look at it a bit more closely?
brightertools commentedon Jul 30, 2023
I started removing a load of things from the UI, until I remove all the Telerik Controls, I was using the latest version of the controls, but had to set a specific MAUI version in the project file. I was then able to see the UI, although still had issues with data loading etc..
It turns out Windows is much more forgiving when it comes to the ViewModel reference and bindings, I had to specifically set page/controls names, data types etc and carefully look at all the bindings. Also loading images (in my case via url) in item lists views (built in MAUI or Telerik controls) uses loads of memory, so watch image size served form the web.
I still have issues with the file selection and saving, still looking at that and have no idea where MAUI specific Nlog Logs go, but used an email target to debug (via testflight) which worked better than nothing.
dustin-wojciechowski commentedon Sep 20, 2023
Hello,
We have tried our best to alleviate as much of these issues as we had in our power to do. I encourage all developers developing Maui Blazor applications for MacCatalyst for the Apple MacOS store to give publishing another shot with the upcoming .NET 8 release. And of course, if any problems occur, please feel free to create a new issue so we can look at it.
Happy developing!
Jinjinov commentedon Sep 20, 2023
Hello @dustin-wojciechowski
Thank you for looking into this. I gave up trying to publish with .NET 7 and it was my intention to try again with .NET 8 so your announcement is really welcome.
I will give it another try with .NET 8
brightertools commentedon Sep 20, 2023
This is appreciated and will certainly try this..
To get the MacOs working has been very time consuming, We are developing for both MacOs and Windows desktop.. learning that Visual Studio Mac is going to be discontinued was pretty bad news since we use Visual studio for both Mac and Windows on this project. I fear more time will be spent trying to re-discover what doesnt work in VS-Code and who knows how seamless the migration will be, not to mention now having to work with either VS-Code for Mac and Visual Studio for windows or having to start setting up and using VS-Code for windows to make that seamless... its just feels like the MacOs 'terrible experience' is going to continue for some time?
Please consider the migration paths to XCode and also working on the same project with XCode and Visual Studio. Thanks.
which makes me thinks, is XCode going to replace Visual Studio on PC as well, at some point?