Первое приложение на iOS

Последнее обновление: 01.12.2023

Рассмотрим построение проекта на Maui и C# для iOS.

Взаимодействие iOS и Maui

Весь код для непосредственного взаимодействия с платформой iOS расположен в проекте в папке Platforms/iOS/

iOS Platform в проекте MAUI и C#

Здесь нас будут интересовать два файла: AppDelegate.cs и Program.cs.

Работа приложения 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.

Компиляция проекта для iOS из Visual Studio на Windows

Рассмотрим, как создавать приложения под iOS из Visual Studio на Windows. Прежде всего, следует отметить, что технически для компиляции приложения под iOS необходим MacBook. Кроме того, на MacOS должны быть установлены все необходимые инструменты для разработки под Maui, как описывалось в прошлой теме, и также должна быть установлена последняя версия XCode.

Для подключения к MacOS Visual Studio применяет SSH.

Возьмем простейший проект Maui, который создается по умолчанию. Прежде всего нам надо открыть доступ извне на самой машине под управлением Mac OS. Для этого на MacOS перейдем к настройкам общего доступа, среди которых надо включить опцию "Удаленный вход":

Общий доступ на Mac OS для Maui в Visual Studio

В этом окне надо отметить IP-адрес в рамках подсети, по которому мы будем подключаться к макбуку. В моем случае 192.168.0.102.

Это были все необходимые настройки для Mac OS. Теперь перейдем к Visual Studio. Перейдем к пункту меню Tools -> iOS -> Pair to Mac

Настройки подключения к MacOS в Visual Studio для Maui

Открывшееся окно отобразит список доступных хостов MacOS для подключения:

Подключение к MacOS в Visual Studio в проекте Maui

Выберем в этом окне нужное подключение и нажмем на кнопку Connect. После этого откроется диалоговое окно, в котором надо будет ввести аутентификационные данные для подключения к Mac OS (то есть логин и пароль пользователя на машине Mac OS):

Подключение к MacOS в Visual Studio в Maui

Если вы вдруг не уверены в правильности вводимого логина, то его можно узнать на Mac OS, введя в терминал команду whoami.

При первом подключении Visual Studio может загружать и установливать некоторые необходимые пакеты для связи с MacOS.

После успешного логина и подключения все окна можно закрыть. А Visual Studio с помощью значка зеленого монитора на панели инструментов укажет, что подключение успешно установлено

Подключение к Mac OS и XCode в Visual Studio в Maui

И затем мы сможем использовать удаленную машину Mac OS для компиляции приложения, а в Visual Studio мы сможем выбрать нужный симулятор iOS и запустить проект:

Запуск проекта на Maui и C# для iOS в Visual Studio

После этого запустится на симуляторе наш проект:

Компиляция проекта Maui на C# для iOS

Стоит отметить, что несмотря на то, что мы можем запустить приложения на симуляторе непосредственно в Windows, но все равно нам необходим Mac OS для компиляции проекта.

Настройка компиляции под iOS

Если мы перейдем к свойствам проекта в visual Studio, то в секции Application/iOS Targets мы можем настроить минимальную и целевую версии iOS, под которые выполняется построение проекта.

Компиляция проекта Maui на C# для iOS

Здесь нам доступны следующие опции:

  • Target the iOS platform: при установке этого флажка .NET MAUI при построении проекта будет также создавать версию приложения для iOS.

  • Target .NET Runtime: применяемая версия .NET

  • Target iOS Framework: применяемая версия iOS

  • Minimum Target iOS Framework: минимальная версия iOS, под которую создается приложение

Кроме того, внизу свойств проекта с помощью пункта iOS можно настроить различные параметры публикации проекта.

Компиляция проекта для iOS на Mac OS

При компиляции проекта MAUI под iOS на Mac OS все естественно несколько проще. Если мы используем Visual Studio for Mac, то также мы можем выбрать из панели запуска нужный симулятор iOS, либо даже подключиться к реальному устройству с iOS через WiFi:

Компиляция проекта Maui на C# для iOS на Mac OS

При выборе симулятора iOS будет запущено приложение на выбранном симуляторе XCode.

Запуск приложения MAUI и C# на симуляторе iOS Xcode
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850