Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для создания собственных приложений 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 откройте системные настройки и перейдите в область общего доступа .
Включите удаленный вход в списке Advanced.
Щелкните рядом с параметром удаленного входа, чтобы настроить дополнительные параметры:
Включите Разрешить полный доступ к диску для удаленных пользователей.
Убедитесь, что удаленный вход настроен для разрешения доступа для всех пользователей, или что ваше имя пользователя или группа Mac включены в список разрешенных пользователей.
При появлении запроса настройте брандмауэр macOS. Если в брандмауэре macOS настроено блокирование входящих подключений, вам потребуется разрешить программе
mono-sgen
принимать входящие подключения. Если это так, появится оповещение.Если компьютер Mac находится в той же сети, что и компьютер с Windows, он теперь должен быть обнаруживаемым с помощью 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, откройте Системные настройки > Общий доступ > Удаленный вход на вашем Mac.
Кроме того, можно использовать командную строку. В терминале выполните следующую команду:
ipconfig getifaddr en0
В зависимости от конфигурации сети может потребоваться использовать другое имя интерфейса, например,
en0
илиen1
.В диалоговом окне «Подключение к Mac» Visual Studio 2022 выберите «Добавить Mac...».
Введите IP-адрес Mac и нажмите кнопку Добавить:
Введите свое имя пользователя и пароль для компьютера Mac:
Совет
При входе используйте имя пользователя системы.
Выберите "Войти" , чтобы подключить Visual Studio 2022 к Mac через SSH и добавить его в список известных компьютеров.
Создание ключей SSH
Связь с Mac автоматически генерирует ключи SSH при первом подключении, а формат этих ключей зависит от версии macOS, запущенной на удаленном Mac.
Ключи SSH, созданные при запуске в macOS 15.4.1+, несовместимы с Xamarin.iOS. Если вы работаете в проектах .NET MAUI и Xamarin.iOS и используете разные версии macOS в зависимости от типа проекта, убедитесь, что вы выполняете начальное подключение с помощью версии macOS до 15.4.1, чтобы обеспечить совместимость ключа SSH с обоими типами проектов.
Чтобы принудительно создать ключ SSH, необходимо удалить папку%LocalAppData%\Xamarin\MonoTouch в Windows.
Включение автоматического подключения к известным компьютерам Mac
По умолчанию подключение к ранее парным компьютерам Mac не будет установлено при запуске Visual Studio. Однако автоматическое подключение к известным Mac можно включить в Visual Studio, перейдя к Инструменты > Параметры > Xamarin > iOS Настройки и убедитесь, что Включить автоматическое подключение к известным Mac отмечено.
После перезапуска Visual Studio он автоматически подключается к известным компьютерам Mac при каждом запуске.
Автоматическая настройка Mac на удалённом доступе
Подключение к Mac автоматически настраивает Mac с программным обеспечением, необходимым для разработки .NET MAUI приложений iOS. В это число входят .NET и различные инструменты, связанные с Xcode, но не сам Xcode.
Внимание
- Не удается связаться с Mac для установки Xcode. Его необходимо установить вручную на узле сборки Mac. Это необходимо для разработки на iOS с помощью .NET MAUI.
- Автоматическая настройка удаленного Mac требует, чтобы удаленный вход был включен на компьютере Mac, а сам Mac должен быть доступен для компьютера с Windows в сети.
- Чтобы автоматическая удалённая настройка Mac могла завершиться, на компьютере должно быть достаточно свободного места для установки платформы .NET.
Кроме того, Pair to Mac выполняет необходимые установки и обновления программного обеспечения на Mac, когда Visual Studio 2022 подключается к нему.
Средства и лицензии Xcode
Функция "Связь с Mac" также проверяет, установлен ли Xcode и принята ли его лицензия. Хотя Pair to Mac не устанавливает Xcode, происходит запрос на принятие лицензии.
Кроме того, Pair to Mac установит или обновит различные пакеты, входящие в состав Xcode. Установка этих пакетов выполняется быстро и без запросов.
Устранение неполадок автоматической настройки удаленного Mac
Если возникают проблемы с автоматической подготовкой Mac, ознакомьтесь с журналами интегрированной среды разработки Visual Studio 2022, хранящимися в %LOCALAPPDATA%\Xamarin\Logs\17.0. Эти журналы могут содержать сообщения об ошибках, которые помогут эффективнее диагностировать ошибку или получить поддержку.
Создание приложений iOS из командной строки Windows
Подключение к Mac поддерживает создание приложений .NET MAUI из командной строки. Перейдите в папку, содержащую источник приложения 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.
При первом подключении Pair to Mac к одному из узлов сборки Mac из Visual Studio 2022 или командной строки настраиваются ключи SSH. При использовании этих ключей будущие входы не потребуют ни имени пользователя, ни пароля. Вновь созданные ключи хранятся в каталоге %LOCALAPPDATA%\Xamarin\MonoTouch.
Если параметр ServerPassword
исключается из вызова сборки из командной строки, функция Pair to Mac пытается выполнить вход на узел сборки Mac, используя сохраненные ключи SSH.
Внимание
Автоматическая настройка удаленного Mac не выполняется для сборок командной строки, поэтому необходимо либо выполнить начальное подключение к Mac из Visual Studio, либо убедиться, что на Mac установлены все необходимые компоненты.
Дополнительные сведения о создании приложений iOS из командной строки Windows см. в статье "Публикация приложения iOS с помощью командной строки".