Связывание с Mac при разработке для Xamarin.iOSPair to Mac for Xamarin.iOS development

В этом руководстве описывается использование функции "Связать с Mac" для подключения Visual Studio 2019 к узлу сборки Mac. Эти инструкции предназначены и для Visual Studio 2017.This guide describes how to use Pair to Mac to connect Visual Studio 2019 to a Mac build host. The same instructions apply to Visual Studio 2017.

ОбзорOverview

Сборка приложений в машинном коде iOS требует доступа к средствам сборки Apple, которые выполняются только на компьютере Mac.Building native iOS applications requires access to Apple's build tools, which only run on a Mac. Поэтому для сборки приложений Xamarin.iOS систему Visual Studio 2019 необходимо подключить к доступному по сети компьютеру Mac.Because of this, Visual Studio 2019 must connect to a network-accessible Mac to build Xamarin.iOS applications.

Функция Visual Studio 2019 "Связать с Mac" обнаруживает узлы сборки Mac, подключается к ним, выполняет проверку подлинности и запоминает их, что упрощает сборку приложений для iOS в среде Windows.Visual Studio 2019's Pair to Mac feature discovers, connects to, authenticates with, and remembers Mac build hosts so that Windows-based iOS developers can work productively.

Функция "Связать с Mac" включает следующий рабочий процесс разработки.Pair to Mac enables the following development workflow:

  • Разработчики могут создавать код Xamarin.iOS в Visual Studio 2019.Developers can write Xamarin.iOS code in Visual Studio 2019.

  • Visual Studio 2019 открывает сетевое подключение к узлу сборки Mac и использует средства сборки на этом компьютере для компиляции и подписания приложения iOS.Visual Studio 2019 opens a network connection to a Mac build host and uses the build tools on that machine to compile and sign the iOS app.

  • Нет необходимости запускать отдельные приложения на компьютере Mac: Visual Studio 2017 вызывает сборки Mac через безопасное SSH-подключение.There is no need to run a separate application on the Mac – Visual Studio 2017 invokes Mac builds securely over SSH.

  • Visual Studio 2019 уведомляет об изменениях по мере их возникновения.Visual Studio 2019 is notified of changes as soon as they happen. Например, когда устройство iOS подключается к Mac или становится доступным в сети, панель инструментов iOS мгновенно обновляется.For example, when an iOS device is plugged in to the Mac or becomes available on the network, the iOS Toolbar updates instantly.

  • К компьютеру Mac можно подключить несколько экземпляров Visual Studio 2019 одновременно.Multiple instances of Visual Studio 2019 can connect to the Mac simultaneously.

  • Можно использовать командную строку Windows для создания приложений iOS.It's possible to use the Windows command-line to build iOS applications.

Примечание

Перед выполнением инструкций в этом руководстве выполните следующие действия.Before following the instructions in this guide, complete the following steps:

Если вы не хотите устанавливать Visual Studio для Mac, Visual Studio 2019 может автоматически настроить на узле сборки Mac Xamarin.iOS и Mono.If you would prefer not to install Visual Studio for Mac, Visual Studio 2019 can automatically configure the Mac build host with Xamarin.iOS and Mono. Также необходимо установить и запустить Xcode.You must still install and run Xcode. Дополнительные сведения см. в разделе Автоматическая подготовка Mac.For more information, see Automatic Mac provisioning.

Включение удаленного входа в систему на компьютере MacEnable remote login on the Mac

Чтобы настроить узел сборки Mac, сначала необходимо включить удаленный вход в систему.To set up the Mac build host, first enable remote login:

  1. На компьютере Mac откройте System Preferences (Системные настройки) и перейдите к панели Sharing (Общий доступ).On the Mac, open System Preferences and go to the Sharing pane.

  2. Установите флажок Remote Login (Удаленный вход) в списке Service (Служба).Check Remote Login in the Service list.

    Включение удаленного входа в системуEnabling Remote Login

    Убедитесь, что доступ разрешен всем пользователям (All users) или что ваше имя пользователя Mac или группа включены в список разрешенных пользователей.Make sure that it is configured to allow access for All users, or that your Mac username or group is included in the list of allowed users.

  3. При появлении запроса настройте брандмауэр macOS.If prompted, configure the macOS firewall.

    Если в брандмауэре macOS настроено блокирование входящих подключений, вам потребуется разрешить программе mono-sgen принимать входящие подключения.If you have set the macOS firewall to block incoming connections, you may need to allow mono-sgen to receive incoming connections. В этом случае появляется соответствующее предупреждение.An alert appears to prompt you if this is the case.

  4. Компьютер Mac теперь должен обнаруживаться средой Visual Studio 2019, если они находятся в одной сети с компьютером Windows.If it is on the same network as the Windows machine, the Mac should now be discoverable by Visual Studio 2019. Если компьютер Mac по-прежнему не обнаруживается, попробуйте вручную добавить компьютер Mac или прочтите руководство по устранению неполадок.If the Mac is still not discoverable, try manually adding a Mac or take a look at the troubleshooting guide.

Подключение к компьютеру Mac из Visual Studio 2019Connect to the Mac from Visual Studio 2019

После включения удаленного входа в систему подключите Visual Studio 2019 к компьютеру Mac.Now that remote login is enabled, connect Visual Studio 2019 to the Mac.

  1. В Visual Studio 2019 откройте существующий проект iOS или создайте новый, щелкнув Файл > Создать > Проект и выбрав шаблон проекта iOS.In Visual Studio 2019, open an existing iOS project or create a new one by choosing File > New > Project and then selecting an iOS project template.

  2. Откройте диалоговое окно Связать с Mac.Open the Pair to Mac dialog.

    • Используйте кнопку Связать с Mac на панели инструментов iOS:Use the Pair to Mac button iOS toolbar:

      Панель инструментов iOS с выделенной кнопкой "Связать с Mac"The iOS toolbar, with the Pair to Mac button highlighted

    • Также можно выбрать Инструменты > iOS > Связать с Mac.Or, select Tools > iOS > Pair to Mac.

    • В диалоговом окне Связать с Mac отображается список всех ранее подключенных и доступных сейчас узлов сборки Mac:The Pair to Mac dialog displays a list of all previously-connected and currently-available Mac build hosts:

      Диалоговое окно "Связать с Mac"The Pair to Mac dialog

  3. Выберите в списке компьютер Mac.Select a Mac in the list. Нажмите кнопку Подключиться.Click Connect.

  4. Введите свое имя пользователя и пароль.Enter your username and password.

    • При первом подключении к любому конкретному компьютеру Mac предлагается ввести имя пользователя и пароль для этого компьютера:The first time you connect to any paticular Mac, you are prompted to enter your username and password for that machine:

      Ввод имени пользователя и пароля для компьютера MacEntering a username and password for the Mac

      Совет

      При входе в систему используйте системное имя пользователя, а не полное имя.When logging in, use your system username rather than full name.

    • Функция "Связать с Mac" будет использовать эти учетные данные для создания подключения SSH к компьютеру Mac.Pair to Mac uses these credentials to create a new SSH connection to the Mac. В случае успеха в файл authorized_keys на компьютере Mac добавляется ключ.If it succeeds, a key is added to the authorized_keys file on the Mac. При последующих подключениях к тому же компьютеру Mac вход будет выполняться автоматически.Subsequent connections to the same Mac will login automatically.

  5. Функция "Связать с Mac" автоматически настраивает Mac.Pair to Mac automatically configures the Mac.

    Начиная с Visual Studio 2019 версии 15.6 среда Visual Studio 2019 устанавливает или обновляет Mono и Xamarin.iOS на подключенном узле сборки Mac при необходимости (учтите, что Xcode необходимо по-прежнему устанавливать вручную).Starting with Visual Studio 2019 version 15.6, Visual Studio 2019 installs or updates Mono and Xamarin.iOS on a connected Mac build host as needed (note that Xcode must still be installed manually). Дополнительные сведения см. в разделе Автоматическая подготовка Mac.See Automatic Mac provisioning for more details.

  6. Найдите значок состояния подключения.Look for the connection status icon.

    • Когда Visual Studio 2019 подключена к компьютеру Mac, для этого элемента Mac в диалоговом окне Связать с Mac отображается значок активного подключения.When Visual Studio 2019 is connected to a Mac, that Mac's item in the Pair to Mac dialog displays an icon indicating that it is currently connected:

      Подключенный компьютер MacA connected Mac

      Одновременно может быть подключен только один компьютер Mac.There can be only one connected Mac at a time.

      Совет

      Щелкните правой кнопкой мыши любой компьютер Mac в списке Связать с Mac: появится контекстное меню с пунктами Подключить..., Не сохранять данные этого компьютера Mac или Отключить:Right-clicking any Mac in the Pair to Mac list brings up a context menu that allows you to Connect..., Forget this Mac, or Disconnect:

      Контекстные меню "Связать с Mac"The Pair to Mac context menus

      При выборе варианта Не сохранять данные этого компьютера Mac ваши учетные данные для выбранного компьютера Mac удаляются.If you choose Forget this Mac, your credentials for the selected Mac will be forgotten. Для повторного подключения к этому компьютеру Mac потребуется заново ввести имя пользователя и пароль.To reconnect to that Mac, you will need to re-enter your username and password.

Если подключение к узлу сборки Mac выполнено успешно, вы можете начинать создавать приложения Xamarin.iOS в Visual Studio 2019.If you have successfully paired to a Mac build host, you are ready to build Xamarin.iOS apps in Visual Studio 2019. Прочитайте руководство Введение в Xamarin.iOS для Visual Studio.Take a look at the Introduction to Xamarin.iOS for Visual Studio guide.

Если вам не удалось выполнить связывание с компьютером Mac, попробуйте вручную добавить компьютер Mac или прочтите руководство по устранению неполадок.If you have not been able to pair a Mac, try manually adding a Mac or take a look at the troubleshooting guide.

Добавление компьютера Mac вручнуюManually add a Mac

Если вы не видите конкретный компьютер Mac в списке в диалоговом окне Связать с Mac, добавьте его вручную.If you do not see a particular Mac listed in the Pair to Mac dialog, add it manually:

  1. Найдите IP-адрес нужного компьютера Mac.Locate your Mac’s IP address.

    • На компьютере Mac откройте System Preferences (Системные настройки) > Sharing (Общий доступ) > Remote Login (Удаленный вход):Open System Preferences > Sharing > Remote Login on your Mac:

      IP-адрес компьютера Mac в разделе "Системные настройки" > "Общий доступ"The Mac's IP address in System Preferences > Sharing

    • Кроме того, можно использовать командную строку.Alternatively, use the command line. В окне терминала выполните эту команду:In Terminal, issue this command:

      $ ipconfig getifaddr en0
      196.168.1.8
      

      В зависимости от конфигурации сети может потребоваться использовать имя интерфейса, отличное от en0.Depending on your network configuration, you may need to use an interface name other than en0. Например, en1, en2 и т. д.For example: en1, en2, etc.

  2. В диалоговом окне Связать с Mac Visual Studio 2019 выберите Добавить компьютер Mac....In Visual Studio 2019's Pair to Mac dialog, select Add Mac...:

    Кнопка "Добавить компьютер Mac" в диалоговом окне "Связать с Mac"The Add Mac button in the Pair to Mac dialog

  3. Введите IP-адрес компьютера Mac и нажмите кнопку Добавить:Enter the Mac's IP address and click Add:

    Ввод IP-адреса компьютера MacEntering the Mac's IP address

  4. Введите свое имя пользователя и пароль для компьютера Mac:Enter your username and password for the Mac:

    Ввод имени пользователя и пароляEnter a username and password

    Совет

    При входе в систему используйте системное имя пользователя, а не полное имя.When logging in, use your system username rather than full name.

  5. Нажмите кнопку Войти, чтобы подключить Visual Studio 2019 к Mac через SSH и добавить его в список известных компьютеров.Click Login to connect Visual Studio 2019 to the Mac over SSH and add it to the list of known machines.

Автоматическая подготовка MacAutomatic Mac provisioning

Начиная с Visual Studio 2019 версии 15.6 при связывании с устройством Mac на нем автоматически подготавливается программное обеспечение, необходимое для создания приложений Xamarin.iOS. Mono, Xamarin.iOS (платформа программного обеспечения, но не интегрированная среда разработки Visual Studio для Mac) и различные инструменты, связанные с Xcode (но не сама среда Xcode).Starting with Visual Studio 2019 version 15.6, Pair to Mac automatically provisions a Mac with software necessary for building Xamarin.iOS applications: Mono, Xamarin.iOS (the software framework, not the Visual Studio for Mac IDE), and various Xcode-related tools (but not Xcode itself).

Важно!

  • Функция "Связать с Mac" не может установить Xcode: этот компонент необходимо установить на узле сборки Mac вручную.Pair to Mac cannot install Xcode; you must manually install it on the Mac build host. Он требуется для разработки Xamarin.iOS.It is required for Xamarin.iOS development.
  • Автоматическая подготовка Mac требует, чтобы на компьютере Mac был включен удаленный вход и чтобы компьютер Mac был доступен по сети для компьютера Windows.Automatic Mac provisioning requires that remote login is enabled on the Mac, and the Mac must be network-accessible to the Windows machine. Дополнительные сведения см. в разделе Включение удаленного входа на компьютере Mac.See Enabling remote login on the Mac for more details.
  • Для автоматической подготовки Mac нужно 3 ГБ свободного места на Mac, чтобы установить Xamarin.iOS.Automatic Mac provisioning requires 3GB of free space on the Mac to install Xamarin.iOS.

Функция "Связать с Mac" выполняет установку или обновление необходимого программного обеспечения, когда Visual Studio 2017 подключается к компьютеру Mac.Pair to Mac performs necessary software installations/updates when Visual Studio 2017 is connecting to the Mac.

MonoMono

Функция "Связать с Mac" проверяет наличие Mono.Pair to Mac will check to make sure that Mono is installed. Если этот компонент не установлен, функция "Связать с Mac" загрузит и установит последнюю стабильную версию Mono на компьютере Mac.If it is not installed, Pair to Mac will download and install the latest stable version of Mono on the Mac.

В ходе выполнения выводятся различные запросы, как показано на следующих снимках экрана (щелкните, чтобы увеличить):Progress is indicated by various prompts, as shown by the following screenshots (click to zoom):

Проверка установкиInstall Check ЗагрузкаDownloading УстановкаInstalling
MonoMono Установка Mono отсутствуетMissing Mono installation Загрузка MonoDownloading Mono Установка MonoInstalling Mono

Xamarin.iOSXamarin.iOS

Функция "Связать с Mac" обновляет Xamarin.iOS на Mac так, чтобы его версия соответствовала версии, установленной на компьютере Windows.Pair to Mac upgrades Xamarin.iOS on the Mac to match the version installed on the Windows machine.

Важно!

Функция "Связать с Mac" не будет переходить на использование более ранней версии Xamarin.iOS на компьютере Mac (то есть заменять альфа- и бета-версии на стабильную).Pair to Mac will not downgrade Xamarin.iOS on the Mac from alpha/beta to stable. При наличии Visual Studio для Mac настройте канал выпуска следующим образом.If you have Visual Studio for Mac installed, set your release channel as follows:

  • Если вы используете Visual Studio 2019, выберите стабильный канал обновлений в Visual Studio для Mac.If you use Visual Studio 2019, select the Stable updates channel in Visual Studio for Mac.
  • Если вы используете предварительную версию Visual Studio 2019, выберите альфа-канал обновлений в Visual Studio для Mac.If you use Visual Studio 2019 Preview, select the Alpha updates channel in Visual Studio for Mac.

В ходе выполнения выводятся различные запросы, как показано на следующих снимках экрана (щелкните, чтобы увеличить):Progress is indicated by various prompts, as shown by the following screenshots (click to zoom):

Проверка установкиInstall Check ЗагрузкаDownloading УстановкаInstalling
Xamarin.iOSXamarin.iOS Установка Xamarin.iOS отсутствуетMissing Xamarin.iOS installation Загрузка Xamarin.iOSDownloading Xamarin.iOS Установка Xamarin.iOSInstalling Xamarin.iOS

Средства и лицензии XcodeXcode tools and license

Функция "Связать с Mac" также проверяет наличие установки Xcode и принятие его лицензии.Pair to Mac will also check to determine whether Xcode has been installed and its license accepted. Функция "Связать с Mac" не устанавливает Xcode, однако предлагает принять условия лицензионного соглашения, как показано на следующих снимках экрана (щелкните, чтобы увеличить):While Pair to Mac does not install Xcode, it does prompt for license acceptance, as shown in the following screenshots (click to zoom):

Проверка установкиInstall Check Принятие условий лицензионного соглашенияLicense Acceptance
XcodeXcode Установка Xcode отсутствуетMissing Xcode installation Лицензия XcodeXcode license

Кроме того, функция "Связать с Mac" установит или обновит различные пакеты, распространяемые с Xcode.Additionally, Pair to Mac will install or update various packages distributed with Xcode. Например:For example:

  • MobileDeviceDevelopment.pkgMobileDeviceDevelopment.pkg
  • XcodeExtensionSupport.pkgXcodeExtensionSupport.pkg
  • MobileDevice.pkgMobileDevice.pkg
  • XcodeSystemResources.pkgXcodeSystemResources.pkg

Установка этих пакетов выполняется быстро и без запросов.The installation of these packages happens quickly and without a prompt.

Примечание

Эти средства отличаются от программ командной строки Xcode, которые в системе macOS 10.9 устанавливаются вместе с Xcode.These tools are distinct from the Xcode Command Line Tools, which as of macOS 10.9 are installed with Xcode.

Устранение неполадок автоматической подготовки MacTroubleshooting automatic Mac provisioning

Если у вас возникают проблемы с автоматической подготовкой Mac, просмотрите журналы IDE Visual Studio 2019 по пути %LOCALAPPDATA%\Xamarin\Logs\15.0.If you encounter any trouble using automatic Mac provisioning, take a look at the Visual Studio 2019 IDE logs, stored in %LOCALAPPDATA%\Xamarin\Logs\15.0. Эти журналы могут содержать сообщения об ошибках, которые помогут эффективнее диагностировать ошибку или получить поддержку.These logs may contain error messages to help you better diagnose the failure or get support.

Создание приложений iOS из командной строки WindowsBuild iOS apps from the Windows command-line

Функция "Связать с Mac" поддерживает сборку приложений Xamarin.iOS из командной строки.Pair to Mac supports building Xamarin.iOS applications from the command line. Например:For example:

C:\samples\App1>msbuild App1.sln /p:ServerAddress=10.211.55.2 /p:ServerUser=xamUser /p:Platform=iPhoneSimulator /p:ServerPassword=mypassword

Параметры, передаваемые в msbuild в приведенном выше примере:The parameters passed to msbuild in the above example are:

  • ServerAddress — IP-адрес узла сборки Mac.ServerAddress – The IP address of the Mac build host.
  • ServerUser — имя пользователя, используемое при входе в систему узла сборки Mac.ServerUser – The username to use when logging in to the Mac build host. Используйте системное имя пользователя, а не полное имя.Use your system username rather than your full name.
  • ServerPassword — пароль, используемый при входе в систему узла сборки Mac.ServerPassword – The password to use when logging in to the Mac build host.

Примечание

Visual Studio 2019 хранит msbuild в следующем каталоге. C:\Program Files (x86)\Microsoft Visual Studio\2017\<Version>\MSBuild\15.0\BinVisual Studio 2019 stores msbuild in the following directory: C:\Program Files (x86)\Microsoft Visual Studio\2017\<Version>\MSBuild\15.0\Bin

При первом входе функции "Связать с Mac" в систему определенного узла сборки Mac из Visual Studio 2019 или из командной строки она устанавливает ключи SSH.The first time Pair to Mac logs in to a particular Mac build host from either Visual Studio 2019 or the command-line, it sets up SSH keys. Благодаря этим ключам в дальнейшем при входе не потребуется указывать имя пользователя или пароль.With these keys, future logins will not require a username or password. Вновь созданные ключи хранятся по пути %LOCALAPPDATA%\Xamarin\MonoTouch.Newly created keys are stored in %LOCALAPPDATA%\Xamarin\MonoTouch.

Если параметр ServerPassword исключается из вызова сборки из командной строки, функция "Связать с Mac" пытается выполнить вход на узел сборки Mac, используя сохраненные ключи SSH.If the ServerPassword parameter is omitted from a command-line build invocation, Pair to Mac attempts to log in to the Mac build host using the saved SSH keys.

СводкаSummary

В этой статье описано, как использовать функцию "Связать с Mac" для подключения Visual Studio 2019 к узлу сборки Mac, чтобы разработчики Visual Studio 2019 могли выполнять сборку приложений iOS в машинном коде с помощью Xamarin.iOS.This article described how to use Pair to Mac to connect Visual Studio 2019 to a Mac build host, enabling Visual Studio 2019 developers to build native iOS applications with Xamarin.iOS.

Следующие шагиNext steps