microsoft / appcenter

Central repository for App Center open source resources and planning.
https://appcenter.ms
Creative Commons Attribution 4.0 International
1.01k stars 223 forks source link

Support for MAUI App #2360

Open nssidhu opened 2 years ago

nssidhu commented 2 years ago

Describe the solution you'd like Support for .NET MAUI, which is replacing Xamarin & Xamrin.Forms.

Describe alternatives you've considered Manually deploying then

Additional context Add any other context or screenshots about the feature request here.

carmanj commented 2 years ago

We're waiting on this too. We're actively working on migrating from Xarmain.IOS to a MAUI-based app. It would be super helpful to us if we could continue to use AppCenter (which we currently use for CD/CI/build/distribution/diagnostics) for the MAUI app. I understand that MAUI is still in preview, but if AppCenter could also support it in a 'preview' mode, that would be greatly beneficial to us. This would avoid us having to manually provision/distribute devices to our internal Alpha testers and other stakeholders.

Thanks!

JohnHDev commented 2 years ago

Xamarin.UITests worked up until preview 12 of .NET Maui. Also, using the CLI we can install .NET Maui and build on our pipelines and run UI tests. With preview 12 however, the Xamarin.TestCloud nuget can no longer be installed in a Maui project and existing projects need to have it removed.

Can someone take a look at this?

Mephisztoe commented 2 years ago

I second this. Although I am fine with building my apps at Azure DevOps and then push the artifacts to AppCenter, with .NET MAUI Preview 14, the AppCenter libraries seem to break builds...

So at least Analytics, Crashes and Distribution should still work with .NET MAUI. I am not sure about In-App-Updates yet though...

ghost commented 2 years ago

This issue has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs within 15 days of this comment.

JohnHDev commented 2 years ago

The fact that this has been marked as stale by the microbot is due to the fact we haven’t had a reply from MS. Anything? Anyone? Maui is now GA. In case you were wondering.

SophisticatedConsulting commented 2 years ago

Please can this be resolved and MAUI support for AppCenter provided... See issue marked by @jfversluis above. How can we have an MS strategy to deprecate Xamarin shortly and no or late support from various MS supporting technologies/libraries? MS please respond. Thanks in advance.

Wynadorn commented 2 years ago

There's been some conversation about this here:

Tweets from the MAUI PM say that the AppCenter features compatibility for MAUI are WIP: https://twitter.com/maddymontaquila/status/1537883335552139267?s=20&t=dJ2QllLIBROA4mo8a4XGDQ https://twitter.com/maddymontaquila/status/1537778954630725632?s=20&t=PEXg9bxcGj-FtixaK4WmeQ

Originally posted by @rudyspano in https://github.com/dotnet/maui/discussions/315#discussioncomment-3127362

MichaelShapiro commented 2 years ago

Please add support for MAUI projects.

dimitar-sd commented 2 years ago

Waiting for build, distribution and diagnostics support (not to stores yet) for iOS and Android for MAUI.

dgerding commented 2 years ago

Any news? I'm poking around related projects trying to see... just need any ux test support, build to test center would be awesome, too.

jeanplevesque commented 2 years ago

Same here. We really need the Crashes and Analytics packages to support the net6.0-ios and net6.0-android targets.

Mephisztoe commented 2 years ago

Two weeks ago, the AppCenter team said: "we are currently working on it. The next release should include the full support for dotnet 6 and MAUI."

mnxamdev commented 2 years ago

Any update on the timeline for App Center Build support to be able to build .Net MAUI apps?

EmmanVazz commented 2 years ago

+1 Can't really even attempt to migrate to MAUI if this app center build and crash reports don't work/

KSEL270715 commented 2 years ago

we are using AppCenter for Analytics ,Diagnostics and App Distribution in our Xamarin Projects. Now doing MAUI Migration, Is there any timeline for MAUI AppCenter support.

Mephisztoe commented 2 years ago

Apparently, something's happening right as we discuss...

https://www.nuget.org/packages/Microsoft.AppCenter/5.0.0-preview.1

Also: https://twitter.com/jfversluis/status/1575470486863200256

JohnHDev commented 2 years ago

This is awesome news! So Maui hasn't been abandoned after all! Now we just need the UITest nuget rebuilt for .NET 6 and we are good to go!!!

wisdeom commented 2 years ago

Hi @Mephisztoe and all! Our 5.0.0-preview.1 contains .NET 6 target. It should work for Distribution, Analytics, and Diagnostics packages. We'd love to get your feedback on this preview release. Please let us know and stay tuned with us for the full support for dotnet 6 and MAUI in the near future!

SophisticatedConsulting commented 2 years ago

Thanks for addressing this. Using this now with MAUI 7.0 RC2 for crashes and Analytics and seems to be working fine. Looking forward to the release version.

IgorKravchenko10 commented 2 years ago

Hello. I am using .NET 7 and have error in iOS application.

Resolved pending breakpoint for 'Xamarin.HotReload.HotReloadAgent.BreakpointCheckpoint()' to D:\a\_work\1\s\HotReload\Source\Xamarin.HotReload.Agent\HotReloadAgent.cs:418 [0x00000].
[0:] An error occurred: 'Could not create an native instance of the type 'Microsoft.AppCenter.Apple.Bindings.MSACWrapperSdk': the native class hasn't been loaded.
It is possible to ignore this condition by setting ObjCRuntime.Class.ThrowOnInitFailure to false.'. Callstack: '   at Foundation.NSObject.InitializeObject(Boolean alloced)
   at Foundation.NSObject..ctor(NSObjectFlag x)
   at Microsoft.AppCenter.Apple.Bindings.MSACWrapperSdk..ctor(String wrapperSdkVersion, String wrapperSdkName, String wrapperRuntimeVersion, String liveUpdateReleaseLabel, String liveUpdateDeploymentKey, String liveUpdatePackageHash)
   at Microsoft.AppCenter.AppCenter.SetWrapperSdk()
   at Microsoft.AppCenter.AppCenter.PlatformStart(String appSecret, Type[] services)
   at Microsoft.AppCenter.AppCenter.Start(String appSecret, Type[] services)
   at AndriyCo.Tcu.MauiClient.MauiProgram.CreateMauiApp() in C:\Users\Igor\source\Projects\AndriyCo.Tcu\AndriyCo.Tcu.MauiClient\MauiProgram.cs:line 47
   at AndriyCo.Tcu.MauiClient.AppDelegate.CreateMauiApp() in C:\Users\Igor\source\Projects\AndriyCo.Tcu\AndriyCo.Tcu.MauiClient\Platforms\iOS\AppDelegate.cs:line 9
   at Microsoft.Maui.MauiUIApplicationDelegate.WillFinishLaunching(UIApplication application, NSDictionary launchOptions)
   at UIKit.UIApplication.UIApplicationMain(Int32 argc, String[] argv, IntPtr principalClassName, IntPtr delegateClassName)
   at UIKit.UIApplication.Main(String[] args, Type principalClass, Type delegateClass)
   at AndriyCo.Tcu.MauiClient.Program.Main(String[] args) in C:\Users\Igor\source\Projects\AndriyCo.Tcu\AndriyCo.Tcu.MauiClient\Platforms\iOS\Program.cs:line 13
   at System.Reflection.MethodInvoker.InterpretedInvoke(Object obj, Span`1 args, BindingFlags invokeAttr)'
The app has been terminated.

Is this problem on my side?

stephenhauck commented 1 year ago

.NET 7 is released ... we still cannot build and deploy MAUI using AppCenter ?

image

AuriR commented 1 year ago

Do Azure Pipelines support it? If so, then that should pave the way for AppCenter.

dj-dev commented 1 year ago

We also urgently need App Center support for MAUI apps. Choosing the Xamarin option on the following screen does not work. App Center is unable to recognize the MAUI projects:

image

At the moment we are building release mode apps locally which is painfully slow and often fails with random errors.

When will App Center have the ability to build MAUI apps?

stephenhauck commented 1 year ago

@wisdeom , @jamesmontemagno , @maddymontaquila , @davidortinau, @jfversluis

Sure would be nice to get some resources allocated to AppCenter ....

stephenhauck commented 1 year ago

Just thought I would share my latest AppCenter support request .... image

AuriR commented 1 year ago

We're waiting, too. If it's using Azure pipelines, I don't understand why they can't add the feature now that it's been in production for months. Either commit to AppCenter or tell us it's over and we need to move elsewhere so we can accommodate. AppCenter is great for what it supports, so I hope they help it up.


Sent from my mobile device. Please excuse any typos and abbreviations.

"Never confuse motion with action." -Ben Franklin | https://auri.nethttps://auri.net | @Auri


From: Stephen Hauck @.> Sent: Thursday, December 22, 2022 3:44:52 PM To: microsoft/appcenter @.> Cc: Auri A. Rahimzadeh @.>; Comment @.> Subject: Re: [microsoft/appcenter] Support for MAUI App (Issue #2360)

Just thought I would share my latest AppCenter support request .... [image]https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F12648793%2F209222773-7e615bb8-8daf-497e-9694-981305d2201e.png&data=05%7C01%7C%7C9ab341b2ca3742e0d26d08dae45d60c1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638073386958003426%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=QIlAXWoQu4ZQsT%2Fl8ISV4a6r7xtWvRDtZFiEtr4V81g%3D&reserved=0

— Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fappcenter%2Fissues%2F2360%23issuecomment-1363325671&data=05%7C01%7C%7C9ab341b2ca3742e0d26d08dae45d60c1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638073386958003426%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=esx34UhiCHXsAy6HaC0TsMjB502wUHMqxTCVx8QBE2U%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAAXHGDCEUGPETHIJH3DRDFTWOS4UJANCNFSM5LLEDNSQ&data=05%7C01%7C%7C9ab341b2ca3742e0d26d08dae45d60c1%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C638073386958003426%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=d%2B%2FSFxMEruphPWNbX8yqax0ueJkfYlg6R9l1T7aGQAs%3D&reserved=0. You are receiving this because you commented.Message ID: @.***>

stephenhauck commented 1 year ago

@davidortinau we asked here too ...

stephenhauck commented 1 year ago

@wisdeom , @jamesmontemagno , @maddymontaquila , @davidortinau, @jfversluis

Bump .. anyone ... image

AuriR commented 1 year ago

In the meantime, I guess you can try this. You don't get distribute, so 1/3 the benefit of AppCenter - the automatic distribution - is gone.

iOS: https://www.andreasnesheim.no/setting-up-ci-for-your-net-maui-ios-app-in-azure-devops/ Android: https://www.andreasnesheim.no/setting-up-ci-for-your-net-maui-android-app-in-azure-devops/

stephenhauck commented 1 year ago

@AuriR thanks for the links but honestly most of us don't care about Azure or we would have moved there

Since Microsoft seems to have abandon MAUI (over 2000 issues on Github) and AppCenter I am looking into using Codemagic ... the reason is that if Microsoft doesn't make some SERIOUS progress real quick most of my customers ARE NOT UPGRADING FROM XAMARIN TO MAUI .... they are moving to Flutter instead ...

https://codemagic.io/start/

JohnHDev commented 1 year ago

I think its clear AppCenter is dead, at least for build pipelines. Either move to Azure DevOps (lots of resources available for that) or move to a different hosted build provider. Stamping your feet here won't help (Ive been there done that, got the ulcer) as they aren't listening to you. Save yourself some stress and make the jump, we have ADO build pipelines creating and deploying .NET MAUI apps to the relevant stores, it works.

somoreingold commented 1 year ago

@JohnHDev Have you come across a resource/tutorial that integrates the two (Azure DevOps and App Center) seamlessly? e.g. An Azure DevOps build that seamlessly feeds into App Center for the test/distribute/etc. part? I think I agree, we should assume MAUI builds within App Center are probably a no-go...

EntityBox commented 1 year ago

I’m building the app via CI/CD via Azure, similar steps as per the link from @AuriR, with the addition of the AppCenter task (Build Task Link).

@IgorKravchenko10 - I get the same error when building to a local/physical device but not in release mode on the pipeline. It might have something to do with debug mode in iOS.

@dj-dev - Select Xamarin and use the same keys/code in your mauiprogram.cs with AppCnter.Start(), code on Xamarin is the same as MAUI.

@jfversluis created a video explaining the bits & pieces: (YouTube Link) - Thanks Gerald

pfedotovsky commented 1 year ago

Using many hacks and the fact that AppCenter's pre-built script allows you to do almost everything due to sudo support, I was able to build a NET MAUI app with AppCenter.

Tested with Debug|iOSSimulator build, the resulting app can be downloaded from App Center and installed on iOS Simulator.

The trick is to replace Mono's msbuild with .NET 7 SDK msbuild and disable the nuget restore step within AppCenter.

Here's the appcenter-post-clone.sh script:

#!/usr/bin/env bash

echo "Post-clone script executing..."
echo "CPU architecture: $(uname -m)"
echo "dotnet version: $(dotnet --version)"
echo "dotnet path: $(which dotnet)"

# Install MAUI iOS workload
dotnet workload install maui-ios

# Use msbuild from .NET SDK
echo """#!/bin/sh
PATH="/usr/local/bin/dotnet:$PATH"
exec dotnet build \"\$@\"
""" | sudo tee /Library/Frameworks/Mono.framework/Commands/msbuild

# Use dummy nuget to restore
echo """#!/bin/sh
echo Dummy Restore
""" | sudo tee /Library/Frameworks/Mono.framework/Commands/nuget

And the test app can be found here: https://github.com/pfedotovsky/maui-appcenter. This hacks don't work with Release|iPhone builds, due to different msbuild settings on Mono and .NET SDK.

But, it should be possible to do the entire build with NET SDK in pre-built script and skip all the rest :) But at this point it's probably easier to wait for official support or switch to GitHub Actions or Azure DevOps.

snow-jallen commented 1 year ago

I'm speechless. @maddymontaquila do you have anything new to share about the status/future of AppCenter + MAUI?

pzimmermaninmo commented 1 year ago

Yeah as much as I really like appcenter, it does sound like microsoft is no longer going to support it. I'm planning to switch to github actions: https://devblogs.microsoft.com/dotnet/devops-for-dotnet-maui/.

For now, as far as I understand it, AppCenter (nuget package) supports MAUI for error/crash logs so I will still probably use them for that (even though a lot of the stack traces aren't that useful, especially since they don't contain line numbers or when they happen outside of managed/mono world. From what I understand though, thats just a xamarin/mono limitation for mobile development)

stephenhauck commented 1 year ago

I HATE this …. Flutter is looking better and better …On May 11, 2023, at 3:05 PM, Peter Zimmerman @.***> wrote: Yeah as much as I really like appcenter, it does sound like microsoft is no longer going to support it. I'm planning to switch to github actions: https://devblogs.microsoft.com/dotnet/devops-for-dotnet-maui/. For now, as far as I understand it, AppCenter (nuget package) supports MAUI for error/crash logs so I will still probably use them for that (even though a lot of the stack traces aren't that useful, especially since they don't contain line numbers or happen outside of managed/mono world. From what I understand though, thats just a xamarin/mono limitation for mobile development)

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

jjohnnyl commented 1 year ago

We are about to migrate to Maui from XF but the lack of App Center support is holding is back. I'd just like a "Yes, we are going to support it" or "No, we aren't going to support it".

AlexeyStarkov commented 1 year ago

Hey! Since Xamarin is dead de-facto, we have to start migrating our applications to MAUI. HOWEVER, despite MAUI being officially released a long time ago, it seems like no one tried to contact the AppCenter team to share this exciting news with them. Or Microsoft forgot AppCenter exists. Anyway, as a result, MAUI isn't supported by AppCenter. It means I can't create a MAUI app project and build&distribute test apps to my QAs and stakeholders.

HEY @wisdeom, @jamesmontemagno, @maddymontaquila, @davidortinau, @jfversluis, Microsoft promotes MAUI hard and, in theory, it's an awesome product. BUT Even the most luxurious Rolls Royce is useless if its doors can't be opened. We need AppCenter to build and distribute apps to testers and stakeholders!!!

It's unbelievable that AppCenter supports React.Native, but doesn't support MAUI which is a product of Microsoft...

pzimmermaninmo commented 1 year ago

Even though I've already planned to move off appcenter, shot in the dark @lucen-ms since you seem to be the last person to commit to this repo, yay or nay on the plans for supporting maui or even .net 6+ in appcenter?

cc @akamenev Since you are the second to last person to commit to this repo.

pzimmermaninmo commented 1 year ago

Yolo cc @satyanadella (damn, doesnt actually exist)

Edit: Oh shit, he just didnt show up in the list of options but it is his @

Edit 2: @wisdeom (last to add blog posts to appcenter blog)

IeuanWalker commented 1 year ago

@AlexeyStarkov you can build your app in azure devops or github action and send it over to appcenter

AlexeyStarkov commented 1 year ago

@AlexeyStarkov you can build your app in azure devops or github action and send it over to appcenter

Unfortunately, it's a workaround. With full AppCenter support (e.g. Xamarin support), our testers can easily build and distribute test builds of selected branches anytime with few clicks and without engaging developers. Besides, there is almost no chance of a tester breaking something important. Moreover, they can easily modify the config of an application by editing the environment variables of a pre-build script. The way you propose seems to significantly complicate the entire workflow. However, thank you for the idea. I'll check it out

IeuanWalker commented 1 year ago

Our testers do the same but through devops, no developers needed.

You can set up variables for them to change as needed, and no chance for them changing/ breaking anything as your yaml files are in source control.

Building your own pipeline gives you more ability to customise the process.

We moved from appcenter build years ago to give us more control and make the process easier for our testers. This is all our testers need to do, select the pipeline and click run now (change branch/ variables as needed) - image

AlexeyStarkov commented 1 year ago

@IeuanWalker I've made a quick PoC with Android. It seems to be working. Thanks for your advice!

Still hope the Microsoft will come up with some intuitive solution which doesn't smell hacky.

AndrewScott-Ingram commented 8 months ago

is this still a problem? we wont be using Maui if it is.

stephenhauck commented 8 months ago

No blog post activity since Dec 22 https://devblogs.microsoft.com/appcenter/

AuriR commented 7 months ago

We just gave up on AppCenter build, but still use it for everything else. GitHub Actions can push to AppCenter, which can then push anywhere you like. It would be good if Microsoft would support AppCenter's CI/CD feature, but it looks like they've given up for now due to resoure constraints (seriously).


From: Stephen Hauck @.> Sent: Wednesday, March 6, 2024 5:29 AM To: microsoft/appcenter @.> Cc: Auri A. Rahimzadeh @.>; Mention @.> Subject: Re: [microsoft/appcenter] Support for MAUI App (Issue #2360)

No blog post activity since Dec 22 https://devblogs.microsoft.com/appcenter/

— Reply to this email directly, view it on GitHubhttps://github.com/microsoft/appcenter/issues/2360#issuecomment-1980554144, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAXHGDHXPFD34EFFW52YHX3YW3VXVAVCNFSM5LLEDNS2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOJYGA2TKNBRGQ2A. You are receiving this because you were mentioned.Message ID: @.***>

timvandenhof commented 7 months ago

Have you seen the announcement that AppCenter will retire? I think we won't see MAUI support in the future. Just use Azure DevOps or Github Actions instead. See their migration guide as well: https://aka.ms/appcenter/retire

AndrewScott-Ingram commented 7 months ago

great so they buy HockeyApp, and then kill it.. great system gone to pot.. will need to look at something else then.