I'm using Maui preview (now release candidate) with a blazorwebview, to build a fairly simple app which connects to a webservice and synchronises data.
The windows and Android versions flew by. The iOS version has been a long slog. After upgrading my Mac (and a long list of workarounds) I was finally able to get some builds to deploy via testflight.
In the iOS version emulator works fine, but on a real device its throwing up a weird error parsing JSON (when doing a deserialise - I'm using newtonsoft) "error setting value to MyProp on MyObject" (names changed).
After much faffing, I got it debugging on a device and it worked fine. So that drew me to the conclusion that it must be a release optimization issue (it wasn't loading all my classes so deserialise fails).
However, no matter what linker settings I changed in the csproj file (full, sdkonly etc) the release build doesn't work. I could see the package size going up and down with these changes so they were obviously working. I've now deployed the debug version via testflight and it's working fine.
In my mind if the linker settings are the same then debug Vs release builds should be the same, but there is obviously a difference.
The release version of the package always seems to be double the size of debug (which is replicated with the different linker settings, ie sdkonly release is double sdkonly debug), so it looks like it's storing two builds in the release package?
Also when building in release mode it takes about 15minutes to build and in debug about 3.. so there must be significant difference I'm missing. Can anyone explain?