Emparejar con Mac para el desarrollo de Xamarin.iOSPair to Mac for Xamarin.iOS development

En esta guía se describe cómo usar Emparejar con Mac para conectar Visual Studio 2019 a un host de compilación de Mac. Estas instrucciones también se aplican a 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.

Información generalOverview

Compilar aplicaciones nativas de iOS requiere acceso a las herramientas de compilación de Apple, que solo se ejecutan en equipos Mac.Building native iOS applications requires access to Apple's build tools, which only run on a Mac. Por este motivo, Visual Studio 2019 debe conectarse a un equipo Mac accesible desde la red para compilar aplicaciones de Xamarin.iOS.Because of this, Visual Studio 2019 must connect to a network-accessible Mac to build Xamarin.iOS applications.

La característica Emparejar con Mac de Visual Studio 2019 detecta y recuerda los hosts de compilación de Mac, además de conectarse a ellos y autenticarse con ellos, a fin de que los desarrolladores de iOS basados en Windows puedan trabajar de forma productiva.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.

Emparejar con Mac permite el flujo de trabajo de desarrollo siguiente:Pair to Mac enables the following development workflow:

  • Los desarrolladores pueden escribir código de Xamarin.iOS en Visual Studio 2019.Developers can write Xamarin.iOS code in Visual Studio 2019.

  • Visual Studio 2019 abre una conexión de red a un host de compilación de Mac y usa las herramientas de compilación en esa máquina para compilar y firmar la aplicación de 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.

  • No es necesario ejecutar una aplicación independiente en el equipo Mac: Visual Studio 2019 invoca las compilaciones de Mac de forma segura a través de SSH.There is no need to run a separate application on the Mac – Visual Studio 2019 invokes Mac builds securely over SSH.

  • Se notifica a Visual Studio 2019 sobre los cambios en cuanto se producen.Visual Studio 2019 is notified of changes as soon as they happen. Por ejemplo, cuando un dispositivo iOS se conecta al equipo Mac o está disponible en la red, la barra de herramientas de iOS se actualiza al instante.For example, when an iOS device is plugged in to the Mac or becomes available on the network, the iOS Toolbar updates instantly.

  • Pueden conectarse simultáneamente varias instancias de Visual Studio 2019 al equipo Mac.Multiple instances of Visual Studio 2019 can connect to the Mac simultaneously.

  • Es posible usar la línea de comandos de Windows para compilar aplicaciones de iOS.It's possible to use the Windows command-line to build iOS applications.

Nota

Antes de seguir las instrucciones de esta guía, complete los pasos siguientes:Before following the instructions in this guide, complete the following steps:

Si prefiere no instalar Visual Studio para Mac, Visual Studio 2019 puede configurar automáticamente el host de compilación de Mac con Xamarin.iOS y 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. Todavía debe instalar y ejecutar Xcode.You must still install and run Xcode. Para obtener más información, consulte Aprovisionamiento automático de Mac.For more information, see Automatic Mac provisioning.

Habilitar la sesión remota en el equipo MacEnable remote login on the Mac

Para configurar el host de compilación de Mac, habilite primero la sesión remota:To set up the Mac build host, first enable remote login:

  1. En el equipo Mac, abra el menú Preferencias del Sistema y vaya al panel Compartir.On the Mac, open System Preferences and go to the Sharing pane.

  2. Marque Sesión remota en la lista Servicio.Check Remote Login in the Service list.

    Habilitar la sesión remotaEnabling Remote Login

    Asegúrese de que está configurado para permitir el acceso de Todos los usuarios o que el nombre de usuario o el grupo de Mac se incluyen en la lista de usuarios permitidos.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. Si se le pide, configure el firewall de macOS.If prompted, configure the macOS firewall.

    Si ha establecido el firewall de macOS para bloquear las conexiones entrantes, puede que necesite permitir mono-sgen para recibir conexiones entrantes.If you have set the macOS firewall to block incoming connections, you may need to allow mono-sgen to receive incoming connections. Aparece un cuadro de diálogo de alerta para preguntarle si este es el caso.An alert appears to prompt you if this is the case.

  4. Si se encuentra en la misma red que la máquina de Windows, Visual Studio 2019 ya debería detectar el equipo Mac.If it is on the same network as the Windows machine, the Mac should now be discoverable by Visual Studio 2019. Si todavía no puede detectar el equipo Mac, pruebe a agregar manualmente un equipo Mac o eche un vistazo a la Guía de solución de problemas.If the Mac is still not discoverable, try manually adding a Mac or take a look at the troubleshooting guide.

Conectarse al equipo Mac desde Visual Studio 2019Connect to the Mac from Visual Studio 2019

Ahora que la sesión remota está habilitada, conecte Visual Studio 2019 al equipo Mac.Now that remote login is enabled, connect Visual Studio 2019 to the Mac.

  1. En Visual Studio 2019, abra un proyecto de iOS existente o elija Archivo > Nuevo > Proyecto y, después, seleccione una plantilla de proyecto de iOS para crear uno.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. Abra el cuadro de diálogo Emparejar con Mac.Open the Pair to Mac dialog.

    • Use el botón Emparejar con Mac de la barra de herramientas de iOS:Use the Pair to Mac button iOS toolbar:

      Barra de herramientas de iOS con el botón Emparejar con Mac resaltadoThe iOS toolbar, with the Pair to Mac button highlighted

    • O bien, seleccione Herramientas > iOS > Emparejar con Mac.Or, select Tools > iOS > Pair to Mac.

    • El cuadro de diálogo Emparejar con Mac muestra una lista de todos los hosts de compilación de Mac conectados anteriormente y disponibles actualmente:The Pair to Mac dialog displays a list of all previously-connected and currently-available Mac build hosts:

      Cuadro de diálogo Emparejar con MacThe Pair to Mac dialog

  3. Seleccione un equipo Mac en la lista.Select a Mac in the list. Haga clic en Conectar.Click Connect.

  4. Escriba el nombre de usuario y la contraseña.Enter your username and password.

    • La primera vez que se conecta a cualquier equipo Mac, se le pide que escriba el nombre de usuario y la contraseña de esa máquina:The first time you connect to any paticular Mac, you are prompted to enter your username and password for that machine:

      Escribir un nombre de usuario y una contraseña para el equipo MacEntering a username and password for the Mac

      Sugerencia

      Al iniciar sesión, use el nombre de usuario del sistema en lugar del nombre completo.When logging in, use your system username rather than full name.

    • Emparejar con Mac usa estas credenciales para crear una conexión SSH con el equipo Mac.Pair to Mac uses these credentials to create a new SSH connection to the Mac. Si se realiza correctamente, se agrega una clave al archivo authorized_keys en el equipo Mac.If it succeeds, a key is added to the authorized_keys file on the Mac. Las siguientes conexiones al mismo equipo Mac iniciarán sesión automáticamente.Subsequent connections to the same Mac will login automatically.

  5. Emparejar con Mac configura automáticamente el equipo Mac.Pair to Mac automatically configures the Mac.

    A partir de Visual Studio 2019 versión 15.6, Visual Studio 2019 instala o actualiza Mono y Xamarin.iOS en un host de compilación de Mac conectado según sea necesario (tenga en cuenta que Xcode se debe instalar manualmente).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). Consulte Aprovisionamiento automático de Mac para obtener más información.See Automatic Mac provisioning for more details.

  6. Busque el icono de estado de conexión.Look for the connection status icon.

    • Cuando Visual Studio 2019 está conectado a un equipo Mac, el elemento del equipo Mac del cuadro de diálogo Emparejar con Mac muestra un icono que indica que está conectado actualmente: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:

      Un equipo Mac conectadoA connected Mac

      Solo puede haber un equipo Mac conectado en cualquier momento.There can be only one connected Mac at a time.

      Sugerencia

      Al hacer clic con el botón derecho en cualquier equipo Mac de la lista Emparejar con Mac, se abrirá un menú contextual que le permite Conectar... , Olvidar este equipo Mac o Desconectar: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:

      Menús contextuales de Emparejar con MacThe Pair to Mac context menus

      Si elige Olvidar este equipo Mac, se olvidarán sus credenciales del equipo Mac seleccionado.If you choose Forget this Mac, your credentials for the selected Mac will be forgotten. Para volver a conectarse a ese equipo Mac, debe volver a escribir el nombre de usuario y la contraseña.To reconnect to that Mac, you will need to re-enter your username and password.

Si se ha emparejado correctamente con un host de compilación de Mac, está listo para compilar aplicaciones de Xamarin.iOS en 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. Eche un vistazo a la guía Introducción a Xamarin.iOS para Visual Studio.Take a look at the Introduction to Xamarin.iOS for Visual Studio guide.

Si no pudo emparejar un equipo Mac, pruebe a agregar manualmente un equipo Mac o eche un vistazo a la Guía de solución de problemas.If you have not been able to pair a Mac, try manually adding a Mac or take a look at the troubleshooting guide.

Agregar un equipo Mac manualmenteManually add a Mac

Si no ve un equipo Mac determinado en el cuadro de diálogo Emparejar con Mac, agréguelo manualmente:If you do not see a particular Mac listed in the Pair to Mac dialog, add it manually:

  1. Busque la dirección IP de su equipo Mac.Locate your Mac’s IP address.

    • Abra Preferencias del Sistema > Compartir > Sesión remota en el equipo Mac:Open System Preferences > Sharing > Remote Login on your Mac:

      Dirección IP del equipo Mac en Preferencias del Sistema > CompartirThe Mac's IP address in System Preferences > Sharing

    • Como alternativa, use la línea de comandos.Alternatively, use the command line. En la terminal, use este comando:In Terminal, issue this command:

      $ ipconfig getifaddr en0
      196.168.1.8
      

      En función de la configuración de red, puede que tenga que usar un nombre de interfaz que no sea en0.Depending on your network configuration, you may need to use an interface name other than en0. Por ejemplo: en1, en2, etc.For example: en1, en2, etc.

  2. En el cuadro de diálogo Emparejar con Mac de Visual Studio 2019, seleccione Agregar equipo Mac:In Visual Studio 2019's Pair to Mac dialog, select Add Mac...:

    Botón Agregar equipo Mac en el cuadro de diálogo Emparejar con MacThe Add Mac button in the Pair to Mac dialog

  3. Escriba la dirección IP del equipo Mac y haga clic en Agregar:Enter the Mac's IP address and click Add:

    Escribir la dirección IP del equipo MacEntering the Mac's IP address

  4. Escriba el nombre de usuario y la contraseña del equipo Mac:Enter your username and password for the Mac:

    Escriba el nombre de usuario y la contraseñaEnter a username and password

    Sugerencia

    Al iniciar sesión, use el nombre de usuario del sistema en lugar del nombre completo.When logging in, use your system username rather than full name.

  5. Haga clic en Iniciar sesión para conectar Visual Studio 2019 al equipo Mac mediante SSH y agregarlo a la lista de equipos conocidos.Click Login to connect Visual Studio 2019 to the Mac over SSH and add it to the list of known machines.

Aprovisionamiento automático del equipo MacAutomatic Mac provisioning

A partir de la versión 15.6 de Visual Studio 2019, Emparejar con Mac aprovisiona automáticamente un Mac con el software necesario para compilar aplicaciones de Xamarin.iOS: Mono, Xamarin.iOS (el marco de software, no el IDE de Visual Studio para Mac) y varias herramientas relacionadas con Xcode (pero no el propio 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).

Importante

  • Emparejar con Mac no puede instalar Xcode; debe instalarlo manualmente en el host de compilación de Mac.Pair to Mac cannot install Xcode; you must manually install it on the Mac build host. Se requiere para el desarrollo de Xamarin.iOS.It is required for Xamarin.iOS development.
  • El aprovisionamiento automático del equipo Mac requiere que esté habilitada la sesión remota en el equipo Mac y el equipo Windows debe poder acceder a este desde la red.Automatic Mac provisioning requires that remote login is enabled on the Mac, and the Mac must be network-accessible to the Windows machine. Vea Habilitar la sesión remota en el equipo Mac para obtener más detalles.See Enabling remote login on the Mac for more details.
  • El aprovisionamiento automático del equipo Mac requiere 3 GB de espacio libre en el equipo Mac para instalar Xamarin.iOS.Automatic Mac provisioning requires 3GB of free space on the Mac to install Xamarin.iOS.

Emparejar con Mac realiza las instalaciones o actualizaciones de software necesarias cuando Visual Studio 2017 se conecta al equipo Mac.Pair to Mac performs necessary software installations/updates when Visual Studio 2017 is connecting to the Mac.

MonoMono

Emparejar con Mac comprobará que esté instalado Mono.Pair to Mac will check to make sure that Mono is installed. Si no está instalado, Emparejar con Mac descargará e instalará la versión estable más reciente de Mono en el equipo Mac.If it is not installed, Pair to Mac will download and install the latest stable version of Mono on the Mac.

El progreso se indica mediante varios mensajes, como se muestra en las siguientes capturas de pantalla (haga clic para ampliar):Progress is indicated by various prompts, as shown by the following screenshots (click to zoom):

Comprobación de la instalaciónInstall Check DescargaDownloading InstalaciónInstalling
MonoMono Falta la instalación de MonoMissing Mono installation Descarga de MonoDownloading Mono Instalación de MonoInstalling Mono

Xamarin.iOSXamarin.iOS

Emparejar con Mac actualiza Xamarin.iOS en el equipo Mac para que coincida con la versión instalada en el equipo Windows.Pair to Mac upgrades Xamarin.iOS on the Mac to match the version installed on the Windows machine.

Importante

Emparejar con Mac no cambiará Xamarin.iOS a una versión anterior en el equipo Mac desde alfa o beta a estable.Pair to Mac will not downgrade Xamarin.iOS on the Mac from alpha/beta to stable. Si tiene Visual Studio para Mac instalado, establezca su canal de versión como se indica a continuación:If you have Visual Studio for Mac installed, set your release channel as follows:

  • Si usa Visual Studio 2019, seleccione el canal de actualizaciones Estable en Visual Studio para Mac.If you use Visual Studio 2019, select the Stable updates channel in Visual Studio for Mac.
  • Si usa la versión preliminar de Visual Studio 2019, seleccione el canal de actualizaciones Alfa en Visual Studio para Mac.If you use Visual Studio 2019 Preview, select the Alpha updates channel in Visual Studio for Mac.

El progreso se indica mediante varios mensajes, como se muestra en las siguientes capturas de pantalla (haga clic para ampliar):Progress is indicated by various prompts, as shown by the following screenshots (click to zoom):

Comprobación de la instalaciónInstall Check DescargaDownloading InstalaciónInstalling
Xamarin.iOSXamarin.iOS Falta la instalación de Xamarin.iOSMissing Xamarin.iOS installation Descarga de Xamarin.iOSDownloading Xamarin.iOS Instalación de Xamarin.iOSInstalling Xamarin.iOS

Licencias y herramientas de XcodeXcode tools and license

Emparejar con Mac también comprobará si se ha instalado Xcode y se ha aceptado su licencia.Pair to Mac will also check to determine whether Xcode has been installed and its license accepted. Aunque Emparejar con Mac no instala Xcode, solicita la aceptación de la licencia, como se muestra en las siguientes capturas de pantalla (haga clic para ampliar):While Pair to Mac does not install Xcode, it does prompt for license acceptance, as shown in the following screenshots (click to zoom):

Comprobación de la instalaciónInstall Check Aceptación de la licenciaLicense Acceptance
XcodeXcode Falta la instalación de XcodeMissing Xcode installation Licencia de XcodeXcode license

Además, Emparejar con Mac instalará o actualizará varios paquetes distribuidos con Xcode.Additionally, Pair to Mac will install or update various packages distributed with Xcode. Por ejemplo:For example:

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

La instalación de estos paquetes se produce rápidamente y sin preguntar al usuario.The installation of these packages happens quickly and without a prompt.

Nota

Estas herramientas son distintas de las herramientas de la línea de comandos de Xcode, que se instalan con Xcode a partir de macOS 10.9.These tools are distinct from the Xcode Command Line Tools, which as of macOS 10.9 are installed with Xcode.

Solución de problemas de aprovisionamiento automático del equipo MacTroubleshooting automatic Mac provisioning

Si se produce algún problema con el aprovisionamiento automático del equipo Mac, eche un vistazo a los registros del IDE de Visual Studio 2019, que se almacenan en %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. Estos registros pueden contener mensajes de error que le ayudarán a diagnosticar mejor el error o recibir soporte técnico.These logs may contain error messages to help you better diagnose the failure or get support.

Compilar aplicaciones de iOS desde la línea de comandos de WindowsBuild iOS apps from the Windows command-line

Emparejar con Mac permite compilar aplicaciones de Xamarin.iOS desde la línea de comandos.Pair to Mac supports building Xamarin.iOS applications from the command line. Por ejemplo:For example:

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

Los parámetros pasados a msbuild en el ejemplo anterior son:The parameters passed to msbuild in the above example are:

  • ServerAddress: dirección IP del host de compilación de Mac.ServerAddress – The IP address of the Mac build host.
  • ServerUser: nombre de usuario que se usará al iniciar sesión en el host de compilación de Mac.ServerUser – The username to use when logging in to the Mac build host. Use el nombre de usuario del sistema en lugar del nombre completo.Use your system username rather than your full name.
  • ServerPassword: contraseña que se usará al iniciar sesión en el host de compilación de Mac.ServerPassword – The password to use when logging in to the Mac build host.

Nota

Visual Studio 2019 almacena msbuild en el directorio siguiente: C:\Program Files (x86)\Microsoft Visual Studio\2017\<Versión>\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

La primera vez que Emparejar con Mac inicia sesión en un host de compilación de Mac concreto desde Visual Studio 2019 o la línea de comandos, configura claves 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. Con estas claves, no se necesitará el nombre de usuario ni la contraseña en los futuros inicios de sesión.With these keys, future logins will not require a username or password. Las claves recién creadas se almacenan en %LOCALAPPDATA%\Xamarin\MonoTouch.Newly created keys are stored in %LOCALAPPDATA%\Xamarin\MonoTouch.

Si se omite el parámetro ServerPassword de una invocación de compilación de la línea de comandos, Emparejar con Mac intenta iniciar sesión en el host de compilación de Mac mediante las claves SSH guardadas.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.

ResumenSummary

En este artículo se describe cómo usar Emparejar con Mac para conectar Visual Studio 2019 a un host de compilación de Mac, de forma que los desarrolladores de Visual Studio 2019 puedan compilar aplicaciones nativas de iOS con 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.

Pasos siguientesNext steps