Рассмотрим построение проекта на Maui и C# для Mac OS. Но прежде всего следует отметить, что на момент написания данной статьи создавать приложения под MacOS можно было непосредственно на самой Mac OS
Весь код для взаимодействия с платформой MacOs расположен в проекте в папке Platforms/MacCatalyst
Но общий принцип работы приложения будет аналогичен работе приложения под iOS. Работа приложения начинается с кода из файла Program.cs:
using ObjCRuntime; using UIKit; namespace HelloApp; public class Program { static void Main(string[] args) { UIApplication.Main(args, null, typeof(AppDelegate)); } }
Метод Main класса Program служит точкой входа в приложения. В нем же в свою очередь вызывается метод UIApplication.Main()
, который определяет суть приложения и который
обращается к классу AppDelegate из файла AppDelegate.cs:
using Foundation; namespace HelloApp; [Register("AppDelegate")] public class AppDelegate : MauiUIApplicationDelegate { protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp(); }
А класс Appdelegate, в свою очередь, переопределяет метод CreateMauiApp(), в котором вызывается метод CreateMauiApp() и таким образом реализуется связь с кодом приложения MAUI.
Для создания десктопного приложения под Mac OS в Visual Studio мы сможем выбрать пункт My Mac:
После этого запустится десктопное приложение под mac: