Связывание с Mac для разработки iOS
Для создания собственных приложений iOS с помощью многоплатформенного пользовательского интерфейса приложений .NET (.NET MAUI) требуется доступ к средствам сборки Apple, которые работают только на Mac. Из-за этого Visual Studio 2022 должен подключаться к сетевому компьютеру Mac для создания приложений iOS .NET MAUI.
Пара в Mac в Visual Studio 2022 обнаруживает, подключается, выполняет проверку подлинности и запоминает узлы сборки Mac, чтобы вы могли эффективно работать в Windows.
Пара с Mac включает следующий рабочий процесс разработки программного обеспечения:
- Код iOS для .NET MAUI можно написать в Visual Studio 2022.
- Visual Studio 2022 открывает сетевое подключение к узлу сборки Mac и использует средства сборки на этом компьютере для компиляции и подписывания приложения iOS.
- Нет необходимости запускать отдельное приложение в Mac— Visual Studio 2022 вызывает сборки Mac безопасно по протоколу SSH.
- Visual Studio 2022 уведомляет об изменениях сразу после их возникновения. Например, когда устройство iOS подключено к Mac или становится доступным в сети, панель инструментов iOS обновляется мгновенно.
- Несколько экземпляров Visual Studio 2022 могут одновременно подключаться к Mac.
- Для создания приложений iOS можно использовать командную строку Windows.
Примечание.
Прежде чем следовать инструкциям в этой статье, установите Xcode на компьютере Mac. Затем вручную откройте Xcode после установки, чтобы добавить дополнительные компоненты. Также следует установить Mono. Кроме того, если у вас есть компьютер Mac с кремнием Apple, убедитесь, что Розетта установлена.
Visual Studio 2022 автоматически настраивает узел сборки Mac. Однако необходимо установить и запустить Xcode и установить Mono.
Включение удаленного входа в систему на компьютере Mac
Чтобы настроить узел сборки Mac, сначала необходимо включить удаленный вход в систему.
На компьютере Mac откройте системные настройки и перейдите в область общего доступа .
Установите флажок Remote Login (Удаленный вход) в списке Service (Служба).
Убедитесь, что оно настроено для предоставления доступа для всех пользователей, или что имя пользователя или группа Mac включены в список разрешенных пользователей.
При появлении запроса настройте брандмауэр macOS. Если в брандмауэре macOS настроено блокирование входящих подключений, вам потребуется разрешить программе
mono-sgen
принимать входящие подключения. Если это так, появится оповещение.Если он находится в той же сети, что и компьютер Windows, компьютер Mac теперь должен находиться в Visual Studio 2022. Если Mac по-прежнему недоступен для обнаружения, попробуйте вручную добавить mac.
Подключение к Mac из Visual Studio 2022
После включения удаленного входа в Mac подключите Visual Studio 2022 к Mac:
В Visual Studio 2022 откройте существующий проект .NET MAUI или создайте новый.
Откройте диалоговое окно "Пара к Mac " с помощью панели инструментов "Пара с Mac " iOS:
Кроме того, выберите "Сервис > " iOS > Pair to Mac.
В диалоговом окне "Пара с Mac " отображается список всех ранее подключенных и доступных в настоящее время узлов сборки Mac:
Выберите Mac в списке и нажмите кнопку "Подключиться".
Введите имя пользователя и пароль. При первом подключении к любому конкретному Mac вам будет предложено ввести имя пользователя и пароль для этого компьютера:
Совет
При входе используйте имя пользователя системы.
Функция "Связать с Mac" будет использовать эти учетные данные для создания подключения SSH к компьютеру Mac. В случае успеха в файл authorized_keys на компьютере Mac добавляется ключ. Последующие подключения к тому же Mac автоматически войдет в систему.
Функция "Связать с Mac" автоматически настраивает Mac. Visual Studio 2022 устанавливает или обновляет предварительные требования на подключенном узле сборки Mac по мере необходимости. Однако Xcode по-прежнему необходимо установить вручную.
Проверьте значок состояния подключения. Когда Visual Studio 2022 подключен к Mac, элемент Mac в диалоговом окне "Пара с Mac " отображает значок, указывающий на то, что он подключен в данный момент:
Одновременно может быть подключен только один компьютер Mac.
Совет
Щелкните правой кнопкой мыши любой компьютер Mac в списке Связать с Mac: появится контекстное меню с пунктами Подключить..., Не сохранять данные этого компьютера Mac или Отключить:
При выборе варианта Не сохранять данные этого компьютера Mac ваши учетные данные для выбранного компьютера Mac удаляются. Для повторного подключения к этому компьютеру Mac потребуется заново ввести имя пользователя и пароль.
Если вы успешно подключились к узлу сборки Mac, вы можете создать приложения iOS для .NET MAUI в Visual Studio 2022. Дополнительные сведения см. в статье "Создание первого приложения".
Если вы не смогли связать Mac, попробуйте вручную добавить Mac.
Добавление компьютера Mac вручную
Если в диалоговом окне "Пара с Mac" нет определенного Mac, добавьте его вручную:
Чтобы найти IP-адрес Mac, откройте общий доступ > к системным настройкам > для удаленного входа в систему, чтобы найти IP-адрес Mac:
Кроме того, можно использовать командную строку. В терминале выполните следующую команду:
ipconfig getifaddr en0
В зависимости от конфигурации сети может потребоваться использовать имя интерфейса, отличное
en0
от имени интерфейса, напримерen1
.en2
В диалоговом окне "Пара в Mac" Visual Studio 2022 выберите "Добавить Mac..."
Введите IP-адрес Mac и нажмите кнопку Добавить:
Введите свое имя пользователя и пароль для компьютера Mac:
Совет
При входе используйте имя пользователя системы.
Выберите "Войти" , чтобы подключить Visual Studio 2022 к Mac через SSH и добавить его в список известных компьютеров.
Включение автоматического подключения к известным компьютерам Mac
По умолчанию подключение к ранее парным компьютерам Mac не будет установлено при запуске Visual Studio. Однако автоматическое подключение к известным mac можно включить в Visual Studio, перейдя к > > параметрам инструментов Xamarin > iOS и убедив, что включено автоматическое подключение к известным Mac.
После перезапуска Visual Studio он автоматически подключается к известным компьютерам Mac при каждом запуске.
Автоматическая подготовка Mac
Связывание с Mac автоматически подготавливает Mac с программным обеспечением, необходимым для создания приложений iOS .NET MAUI. К ним относятся .NET и различные средства, связанные с Xcode (но не Xcode).
Внимание
- Не удается установить Xcode в Mac. Его необходимо установить вручную на узле сборки Mac. Это необходимо для разработки iOS для .NET MAUI.
- Автоматическая подготовка Mac требует, чтобы на компьютере Mac был включен удаленный вход и чтобы компьютер Mac был доступен по сети для компьютера Windows.
- Для автоматической подготовки Mac требуется достаточно свободного места на компьютере Mac для установки .NET.
Кроме того, при подключении к Ней Visual Studio 2022 к нему выполняется необходимая установка программного обеспечения и обновления Mac.
Средства и лицензии Xcode
Функция "Связать с Mac" также проверяет наличие установки Xcode и принятие его лицензии. Хотя пара с Mac не устанавливает Xcode, он запрашивает принятие лицензии.
Кроме того, пара для Mac установит или обновит различные пакеты, распределенные с помощью Xcode. Установка этих пакетов выполняется быстро и без запросов.
Устранение неполадок автоматической подготовки Mac
Если возникают проблемы с автоматической подготовкой Mac, ознакомьтесь с журналами интегрированной среды разработки Visual Studio 2022, хранящимися в %LOCALAPPDATA%\Xamarin\Logs\17.0. Эти журналы могут содержать сообщения об ошибках, которые помогут эффективнее диагностировать ошибку или получить поддержку.
Создание приложений iOS из командной строки Windows
Пара с Mac поддерживает создание приложений MAUI .NET из командной строки. Перейдите в папку, содержащую источник приложения iOS для .NET MAUI и выполните следующую команду:
dotnet build -f net8.0-ios -p:ServerAddress={macOS build host IP address} -p:ServerUser={macOS username} -p:ServerPassword={macOS password} -p:TcpPort=58181 -p:_DotNetRootRemoteDirectory=/Users/{macOS username}/Library/Caches/Xamarin/XMA/SDKs/dotnet/
Параметры, передаваемые в dotnet
в приведенном выше примере:
ServerAddress
— IP-адрес узла сборки Mac.ServerUser
— имя пользователя, используемое при входе в узел сборки Mac. Используйте системное имя пользователя, а не полное имя.ServerPassword
— пароль, используемый при входе в узел сборки Mac._DotNetRootRemoteDirectory
— папка на узле сборки Mac, содержащая пакет SDK для .NET.
При первом входе в mac в узел сборки Mac из Visual Studio 2022 или командной строки он настраивает ключи SSH. При использовании этих ключей будущие имена входа не требуют имени пользователя или пароля. Вновь созданные ключи хранятся по пути %LOCALAPPDATA%\Xamarin\MonoTouch.
Если параметр ServerPassword
исключается из вызова сборки из командной строки, функция "Связать с Mac" пытается выполнить вход на узел сборки Mac, используя сохраненные ключи SSH.
Дополнительные сведения о создании приложений iOS из командной строки Windows см. в статье "Публикация приложения iOS с помощью командной строки".