Связывание с Mac при разработке для Xamarin.iOS
В этом руководстве описывается использование функции "Связать с Mac" для подключения Visual Studio 2019 к узлу сборки Mac. Эти инструкции предназначены и для Visual Studio 2017.
Обзор
Сборка приложений в машинном коде iOS требует доступа к средствам сборки Apple, которые выполняются только на компьютере Mac. Поэтому для сборки приложений Xamarin.iOS систему Visual Studio 2019 необходимо подключить к доступному по сети компьютеру Mac.
Функция Visual Studio 2019 "Связать с Mac" обнаруживает узлы сборки Mac, подключается к ним, выполняет проверку подлинности и запоминает их, что упрощает сборку приложений для iOS в среде Windows.
Функция "Связать с Mac" включает следующий рабочий процесс разработки.
Разработчики могут создавать код Xamarin.iOS в Visual Studio 2019.
Visual Studio 2019 открывает сетевое подключение к узлу сборки Mac и использует средства сборки на этом компьютере для компиляции и подписания приложения iOS.
Нет необходимости запускать отдельные приложения на компьютере Mac: Visual Studio 2019 вызывает сборки Mac через безопасное SSH-подключение.
Visual Studio 2019 уведомляет об изменениях по мере их возникновения. Например, когда устройство iOS подключается к Mac или становится доступным в сети, панель инструментов iOS мгновенно обновляется.
К компьютеру Mac можно подключить несколько экземпляров Visual Studio 2019 одновременно.
Можно использовать командную строку Windows для создания приложений iOS.
Примечание.
Перед выполнением инструкций в этом руководстве выполните следующие действия.
- На компьютере Windows установите Visual Studio 2019.
- На компьютере Mac установите Xcode и Visual Studio для Mac.
- После установки необходимо вручную открыть Xcode, чтобы он мог добавить дополнительные компоненты.
Если вы не хотите устанавливать Visual Studio для Mac, Visual Studio 2019 может автоматически настроить на узле сборки Mac Xamarin.iOS и Mono. Также необходимо установить и запустить Xcode. Дополнительные сведения см. в разделе Автоматическая подготовка Mac.
Включение удаленного входа в систему на компьютере Mac
Чтобы настроить узел сборки Mac, сначала необходимо включить удаленный вход в систему.
На компьютере Mac откройте System Preferences (Системные настройки) и перейдите к панели Sharing (Общий доступ).
Установите флажок Remote Login (Удаленный вход) в списке Service (Служба).
Убедитесь, что доступ разрешен всем пользователям (All users) или что ваше имя пользователя Mac или группа включены в список разрешенных пользователей.
При появлении запроса настройте брандмауэр macOS.
Если в брандмауэре macOS настроено блокирование входящих подключений, вам потребуется разрешить программе
mono-sgen
принимать входящие подключения. В этом случае появляется соответствующее предупреждение.Компьютер Mac теперь должен обнаруживаться средой Visual Studio 2019, если они находятся в одной сети с компьютером Windows. Если компьютер Mac по-прежнему не обнаруживается, попробуйте вручную добавить компьютер Mac или прочтите руководство по устранению неполадок.
Подключение к компьютеру Mac из Visual Studio 2019
После включения удаленного входа в систему подключите Visual Studio 2019 к компьютеру Mac.
В Visual Studio 2019 откройте существующий проект iOS или создайте новый, выбрав > файл нового > проекта и выбрав шаблон проекта iOS.
Откройте диалоговое окно Связать с Mac.
Используйте кнопку Связать с Mac на панели инструментов iOS:
Кроме того, выберите "Сервис" > для iOS > Pair to Mac.
В диалоговом окне Связать с Mac отображается список всех ранее подключенных и доступных сейчас узлов сборки Mac:
Выберите в списке компьютер Mac. Щелкните Подключить.
Введите имя пользователя и пароль.
При первом подключении к любому конкретному компьютеру Mac предлагается ввести имя пользователя и пароль для этого компьютера:
Совет
При входе в систему используйте системное имя пользователя, а не полное имя.
Функция "Связать с Mac" будет использовать эти учетные данные для создания подключения SSH к компьютеру Mac. В случае успеха в файл authorized_keys на компьютере Mac добавляется ключ. При последующих подключениях к тому же компьютеру Mac вход будет выполняться автоматически.
Функция "Связать с Mac" автоматически настраивает Mac.
Начиная с Visual Studio 2019 версии 15.6 среда Visual Studio 2019 устанавливает или обновляет Mono и Xamarin.iOS на подключенном узле сборки Mac при необходимости (учтите, что Xcode необходимо по-прежнему устанавливать вручную). Дополнительные сведения см. в разделе Автоматическая подготовка Mac.
Найдите значок состояния подключения.
Когда Visual Studio 2019 подключена к компьютеру Mac, для этого элемента Mac в диалоговом окне Связать с Mac отображается значок активного подключения.
Одновременно может быть подключен только один компьютер Mac.
Совет
Щелкните правой кнопкой мыши любой компьютер Mac в списке Связать с Mac: появится контекстное меню с пунктами Подключить..., Не сохранять данные этого компьютера Mac или Отключить:
При выборе варианта Не сохранять данные этого компьютера Mac ваши учетные данные для выбранного компьютера Mac удаляются. Для повторного подключения к этому компьютеру Mac потребуется заново ввести имя пользователя и пароль.
Если подключение к узлу сборки Mac выполнено успешно, вы можете начинать создавать приложения Xamarin.iOS в Visual Studio 2019. Прочитайте руководство Введение в Xamarin.iOS для Visual Studio.
Если вам не удалось выполнить связывание с компьютером Mac, попробуйте вручную добавить компьютер Mac или прочтите руководство по устранению неполадок.
Добавление компьютера Mac вручную
Если вы не видите конкретный компьютер Mac в списке в диалоговом окне Связать с Mac, добавьте его вручную.
Найдите IP-адрес нужного компьютера Mac.
Откройте удаленный вход в систему с общим доступом > к системным настройкам > на компьютере Mac:
Кроме того, можно использовать командную строку. В окне терминала выполните эту команду:
$ ipconfig getifaddr en0 196.168.1.8
В зависимости от конфигурации сети может потребоваться использовать имя интерфейса, отличное от
en0
. Например,en1
,en2
и т. д.
В диалоговом окне Связать с Mac Visual Studio 2019 выберите Добавить компьютер Mac....
Введите IP-адрес компьютера Mac и нажмите кнопку Добавить:
Введите свое имя пользователя и пароль для компьютера Mac:
Совет
При входе в систему используйте системное имя пользователя, а не полное имя.
Нажмите кнопку Войти, чтобы подключить Visual Studio 2019 к Mac через SSH и добавить его в список известных компьютеров.
Автоматическая подготовка Mac
Начиная с Visual Studio 2019 версии 15.6, Пара с Mac автоматически подготавливает Mac с программным обеспечением, необходимым для создания приложений Xamarin.iOS: Mono, Xamarin.iOS (программная платформа, а не интегрированная среда разработки Visual Studio для Mac) и различные средства, связанные с Xcode (но не Xcode).
Внимание
- Функция "Связать с Mac" не может установить Xcode: этот компонент необходимо установить на узле сборки Mac вручную. Он требуется для разработки Xamarin.iOS.
- Автоматическая подготовка Mac требует, чтобы на компьютере Mac был включен удаленный вход и чтобы компьютер Mac был доступен по сети для компьютера Windows. Дополнительные сведения см. в разделе Включение удаленного входа на компьютере Mac.
- Для автоматической подготовки Mac нужно 3 ГБ свободного места на Mac, чтобы установить Xamarin.iOS.
Функция "Связать с Mac" выполняет установку или обновление необходимого программного обеспечения, когда Visual Studio 2019 подключается к компьютеру Mac.
Mono
Функция "Связать с Mac" проверяет наличие Mono. Если этот компонент не установлен, функция "Связать с Mac" загрузит и установит последнюю стабильную версию Mono на компьютере Mac.
В ходе выполнения выводятся различные запросы, как показано на следующих снимках экрана (щелкните, чтобы увеличить):
Mono | Проверка установки | Downloading; | Установка |
---|---|---|---|
Xamarin.iOS
Функция "Связать с Mac" обновляет Xamarin.iOS на Mac так, чтобы его версия соответствовала версии, установленной на компьютере Windows.
Внимание
Функция "Связать с Mac" не будет переходить на использование более ранней версии Xamarin.iOS на компьютере Mac (то есть заменять альфа- и бета-версии на стабильную). При наличии Visual Studio для Mac настройте канал выпуска следующим образом.
- Если вы используете Visual Studio 2019, выберите стабильный канал обновлений в Visual Studio для Mac.
- Если вы используете предварительную версию Visual Studio 2019, выберите альфа-канал обновлений в Visual Studio для Mac.
В ходе выполнения выводятся различные запросы, как показано на следующих снимках экрана (щелкните, чтобы увеличить):
Xamarin.iOS | Проверка установки | Downloading; | Установка |
---|---|---|---|
Средства и лицензии Xcode
Функция "Связать с Mac" также проверяет наличие установки Xcode и принятие его лицензии. Функция "Связать с Mac" не устанавливает Xcode, однако предлагает принять условия лицензионного соглашения, как показано на следующих снимках экрана (щелкните, чтобы увеличить):
Xcode | Проверка установки | Принятие условий лицензионного соглашения |
---|---|---|
Кроме того, функция "Связать с Mac" установит или обновит различные пакеты, распространяемые с Xcode. Например:
- MobileDeviceDevelopment.pkg
- XcodeExtensionSupport.pkg
- MobileDevice.pkg
- XcodeSystemResources.pkg
Установка этих пакетов выполняется быстро и без запросов.
Примечание.
Эти средства отличаются от программ командной строки Xcode, которые в системе macOS 10.9 устанавливаются вместе с Xcode.
Устранение неполадок автоматической подготовки Mac
Если у вас возникают проблемы с автоматической подготовкой Mac, просмотрите журналы IDE Visual Studio 2019 по пути %LOCALAPPDATA%\Xamarin\Logs\16.0. Эти журналы могут содержать сообщения об ошибках, которые помогут эффективнее диагностировать ошибку или получить поддержку.
Создание приложений iOS из командной строки Windows
Функция "Связать с Mac" поддерживает сборку приложений Xamarin.iOS из командной строки. Например:
C:\samples\App1>msbuild App1.sln /p:ServerAddress=10.211.55.2 /p:ServerUser=xamUser /p:Platform=iPhoneSimulator /p:ServerPassword=mypassword
Параметры, передаваемые в msbuild
в приведенном выше примере:
ServerAddress
— IP-адрес узла сборки Mac.ServerUser
— имя пользователя, используемое при входе в систему узла сборки Mac. Используйте системное имя пользователя, а не полное имя.ServerPassword
— пароль, используемый при входе в систему узла сборки Mac.
Примечание.
Visual Studio 2019 хранится msbuild
в следующем каталоге: C:\Program Files (x86)\Microsoft Visual Studio\2019<\Version>\MSBuild\Current\Bin
При первом входе функции "Связать с Mac" в систему определенного узла сборки Mac из Visual Studio 2019 или из командной строки она устанавливает ключи SSH. Благодаря этим ключам в дальнейшем при входе не потребуется указывать имя пользователя или пароль. Вновь созданные ключи хранятся по пути %LOCALAPPDATA%\Xamarin\MonoTouch.
Если параметр ServerPassword
исключается из вызова сборки из командной строки, функция "Связать с Mac" пытается выполнить вход на узел сборки Mac, используя сохраненные ключи SSH.
Итоги
В этой статье описано, как использовать функцию "Связать с Mac" для подключения Visual Studio 2019 к узлу сборки Mac, чтобы разработчики Visual Studio 2019 могли выполнять сборку приложений iOS в машинном коде с помощью Xamarin.iOS.