Emparelhar com o Mac para desenvolvimento no Xamarin.iOS

Este guia descreve como usar o Emparelhar com Mac para conectar o Visual Studio 2019 a um host de build do Mac. As mesmas instruções se aplicam ao Visual Studio 2017.

Visão geral

A criação de aplicativos do iOS nativos requer acesso às ferramentas de build da Apple, que são executadas somente em Mac. Por isso, o Visual Studio 2019 deve se conectar a um Mac acessível na rede para criar aplicativos Xamarin.iOS.

O recurso Emparelhar com Mac do Visual Studio 2019 descobre, conecta, autentica e lembra de hosts de build do Mac para que os desenvolvedores de iOS baseados no Windows possam trabalhar produtivamente.

O Emparelhar com Mac permite o seguinte fluxo de trabalho de desenvolvimento:

  • Os desenvolvedores podem escrever código do Xamarin.iOS no Visual Studio 2019.

  • O Visual Studio 2019 abre uma conexão de rede para um host de build do Mac e usa as ferramentas de build no computador para compilar e assinar o aplicativo do iOS.

  • Não é necessário executar um aplicativo separado no Mac. O Visual Studio 2019 invoca builds do Mac com segurança via SSH.

  • O Visual Studio 2019 é notificado das alterações assim que elas ocorrem. Por exemplo, quando um dispositivo iOS está conectado ao Mac ou se torna disponível na rede, a barra de ferramentas do iOS é atualizada instantaneamente.

  • Várias instâncias do Visual Studio 2019 podem se conectar ao Mac simultaneamente.

  • É possível usar a linha de comando do Windows para criar aplicativos iOS.

Observação

Antes de seguir as instruções neste guia, conclua as seguintes etapas:

Se preferir não instalar o Visual Studio para Mac, o Visual Studio 2019 poderá configurar automaticamente o host de build do Mac com Xamarin.iOS e Mono. Ainda será necessário instalar e executar o Xcode. Para obter mais informações, veja Provisionamento automático do Mac.

Habilitar acesso remoto no Mac

Para configurar o host de build do Mac, primeiramente habilite o acesso remoto:

  1. No Mac, abra as Preferências do Sistema no painel Compartilhamento.

  2. Marque Acesso Remoto na lista Serviço.

    Habilitando o logon remoto

    Verifique se ele está configurado para permitir o acesso a Todos os usuários ou se o nome de usuário ou grupo do Mac está incluído na lista de usuários permitidos.

  3. Se solicitado, configure o firewall do macOS.

    Se tiver definido o firewall do macOS para bloquear conexões de entrada, poderá ser preciso permitir ao mono-sgen receber conexões de entrada. Um alerta será exibido para avisá-lo, se for o caso.

  4. Se estiver na mesma rede que o computador Windows, o Mac deverá ser detectável pelo Visual Studio 2019. Se o Mac ainda não estiver detectável, tente adicionar manualmente um Mac ou examinar o guia de solução de problemas.

Conectar ao Mac por meio do Visual Studio 2019

Agora que o acesso remoto está habilitado, conecte o Visual Studio 2019 ao Mac.

  1. No Visual Studio 2019, abra um projeto iOS existente ou crie um novo escolhendo Arquivo > Novo > Projeto e, em seguida, selecionando um modelo de projeto do iOS.

  2. Abra a caixa de diálogo Emparelhar com Mac.

    • Use o botão Emparelhar com Mac na barra de ferramentas do iOS:

      A barra de ferramentas do iOS, com o botão Emparelhar com Mac realçado

    • Ou selecione Ferramentas > iOS > Emparelhar com Mac.

    • A caixa de diálogo Emparelhar com Mac exibe uma lista de todos os hosts de build disponíveis do Mac conectados anteriormente e atualmente:

      Caixa de diálogo Emparelhar com Mac

  3. Selecione um Mac na lista. Clique em Conectar.

  4. Insira seu nome de usuário e sua senha.

    • Na primeira vez que se conectar a um Mac, você precisará inserir seu nome de usuário e senha do computador:

      Inserindo um nome de usuário e senha para o Mac

      Dica

      Ao fazer logon, use seu nome de usuário do sistema em vez do nome completo.

    • O Emparelhar com Mac usa essas credenciais para criar uma conexão SSH com o Mac. Se tiver êxito, uma chave será adicionada ao arquivo authorized_keys no Mac. As conexões subsequentes com o mesmo Mac farão logon automaticamente.

  5. O Emparelhar com Mac configura automaticamente o Mac.

    Desde a versão 15.6 do Visual Studio 2019, o Visual Studio 2019 instala ou atualiza o Mono e o Xamarin.iOS em um host de build conectado do Mac conforme necessário (observe que o Xcode ainda deve ser instalado manualmente). Para obter mais informações, veja Provisionamento automático do Mac.

  6. Procure o ícone de status de conexão.

    • Quando o Visual Studio 2019 é conectado a um Mac, o item do Mac na caixa de diálogo Emparelhar com Mac exibe um ícone que indica que ele está conectado no momento:

      Um Mac conectado

      Pode haver apenas um Mac conectado por vez.

      Dica

      Clicar com o botão direito do mouse em qualquer Mac na lista Emparelhar com Mac exibe um menu de contexto que permite Conectar..., Esquecer este Mac ou Desconectar:

      Os menus de contexto Emparelhar com Mac os menus de

      Se escolher Esquecer este Mac, suas credenciais para o Mac selecionado serão esquecidas. Para reconectar-se ao Mac, você precisará inserir novamente seu nome de usuário e senha.

Se tiver feito o emparelhamento com êxito a um host de build do Mac, você estará pronto para criar aplicativos Xamarin.iOS no Visual Studio 2019. Consulte o guia Introdução ao Xamarin.iOS para Visual Studio.

Se ainda não tiver feito o emparelhamento com um Mac, tente adicionar manualmente um Mac ou consulte o guia de solução de problemas.

Adicionar um Mac manualmente

Se não vir um Mac específico listado na caixa de diálogo Emparelhar com Mac, adicione-o manualmente:

  1. Localize o endereço IP do Mac.

    • Abra Preferências > do Sistema Compartilhando > Logon Remoto em seu Mac:

      O endereço IP do Mac nas Preferências > do Sistema Compartilhando

    • Como alternativa, use a linha de comando. No Terminal, execute este comando:

      $ ipconfig getifaddr en0
      196.168.1.8
      

      Dependendo de sua configuração de rede, talvez seja necessário usar um nome de interface diferente de en0. Por exemplo: en1, en2, etc.

  2. Na caixa de diálogo Emparelhar com Mac do Visual Studio 2019, selecione Adicionar Mac...:

    O botão Adicionar Mac na caixa de diálogo Emparelhar com Mac

  3. Insira o endereço IP do Mac e clique em Adicionar:

    Inserindo o endereço IP do Mac

  4. Insira o nome de usuário e a senha para o Mac:

    Insira um nome de usuário e senha

    Dica

    Ao fazer logon, use seu nome de usuário do sistema em vez do nome completo.

  5. Clique em Logon para conectar o Visual Studio 2019 ao Mac via SSH e adicioná-lo à lista de computadores conhecidos.

Provisionamento automático do Mac

A partir do Visual Studio 2019 versão 15.6, o Emparelhamento com Mac provisiona automaticamente um Mac com o software necessário para criar aplicativos Xamarin.iOS: Mono, Xamarin.iOS (a estrutura de software, não o IDE Visual Studio para Mac) e várias ferramentas relacionadas ao Xcode (mas não o próprio Xcode).

Importante

  • O Emparelhar com Mac não instala o Xcode. É necessário instalá-lo manualmente no host de build do Mac. Ele é necessário para o desenvolvimento do Xamarin.iOS.
  • O provisionamento automático do Mac exige que o acesso remoto esteja habilitado no Mac, e o Mac deve ser acessível pela rede para o computador Windows. Consulte Habilitar acesso remoto no Mac para obter mais detalhes.
  • O provisionamento automático do Mac requer 3 GB de espaço livre no Mac para instalar o Xamarin.iOS.

O Emparelhar com Mac executa instalações/atualizações de software necessárias quando o Visual Studio 2019 está se conectando ao Mac.

Mono

O Emparelhar com Mac fará a verificação para certificar-se de que o Mono está instalado. Se não estiver instalado, o Emparelhar com Mac baixará e instalará a versão estável mais recente do Mono no Mac.

O progresso é indicado por vários prompts, conforme mostrado pelas seguintes capturas de tela (clique para ampliar):

Mono Verificação de instalação Baixando Instalando o
Instalação mono ausente Instalação Baixando Mono Instalando o Mono

Xamarin.iOS

O Emparelhar com Mac faz upgrade do Xamarin.iOS no Mac para corresponder à versão instalada no computador Windows.

Importante

O Emparelhar com Mac não fará o downgrade do Xamarin.iOS no Mac de alfa/beta para estável. Se tiver o Visual Studio para Mac instalado, defina seu canal de versão da seguinte maneira:

  • Se for usar o Visual Studio 2019, selecione o canal de atualizações Estável no Visual Studio para Mac.
  • Se for usar o Visual Studio 2019 Preview, selecione o canal de atualizações Alfa no Visual Studio para Mac.

O progresso é indicado por vários prompts, conforme mostrado pelas seguintes capturas de tela (clique para ampliar):

Xamarin.iOS Verificação de instalação Baixando Instalando o
Instalação do Xamarin.iOS ausente Instalação Baixando o Xamarin.iOS Instalando o Xamarin.iOS

Licença e ferramentas Xcode

O Emparelhar com Mac também fará a verificação para determinar se o Xcode foi instalado e se a licença foi aceita. Embora o Emparelhar com Mac não instale o Xcode, ele solicita a aceitação da licença, conforme mostrado nas seguintes capturas de tela (clique para ampliar):

Xcode Verificação de instalação Aceitação da licença
Instalação do Xcode ausente Instalação Licença Xcode de licença

Adicionalmente, o Emparelhar com Mac instalará ou atualizará vários pacotes distribuídos com o Xcode. Por exemplo:

  • MobileDeviceDevelopment.pkg
  • XcodeExtensionSupport.pkg
  • MobileDevice.pkg
  • XcodeSystemResources.pkg

A instalação desses pacotes ocorre rapidamente e sem um prompt.

Observação

Essas ferramentas são diferentes das ferramentas de linha de comando do Xcode, que, a partir do macOS 10.9, são instaladas com o Xcode.

Solução de problemas do provisionamento automático do Mac

Se tiver problemas para usar o provisionamento automático do Mac, examine os logs do IDE do Visual Studio 2019, armazenados em %LOCALAPPDATA%\Xamarin\Logs\16.0. Esses logs podem conter mensagens de erro para ajudá-lo a melhor diagnosticar a falha ou obter suporte.

Crie aplicativos do iOS da linha de comando do Windows

O Emparelhar com Mac dá suporte à criação de aplicativos Xamarin.iOS da linha de comando. Por exemplo:

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

Os parâmetros passados para msbuild no exemplo acima são:

  • ServerAddress – o endereço IP do host de build do Mac.
  • ServerUser – o nome de usuário a ser usado ao fazer logon no host de build do Mac. Use seu nome de usuário do sistema em vez do nome completo.
  • ServerPassword – a senha a ser usada ao fazer logon no host de build do Mac.

Observação

O Visual Studio 2019 armazena msbuild no seguinte diretório: C:\Arquivos de Programas (x86)\Microsoft Visual Studio\2019\<Version>\MSBuild\Current\Bin

Na primeira vez em que o Emparelhar com Mac fizer logon em um determinado host de build do Mac usando o Visual Studio 2019 ou a linha de comando, ele configurará chaves SSH. Com essas chaves, logons futuros não exigirão um nome de usuário ou senha. As chaves recém-criadas são armazenadas em %LOCALAPPDATA%\Xamarin\MonoTouch.

Se o parâmetro ServerPassword for omitido de uma invocação de build da linha de comando, o Emparelhar com Mac tentará fazer logon no host de build do Mac usando as chaves SSH salvas.

Resumo

Este artigo descreveu como usar o Emparelhar com Mac para conectar o Visual Studio 2019 a um host de build do Mac, permitindo que os desenvolvedores do Visual Studio 2019 criem aplicativos do iOS nativos com o Xamarin.iOS.

Próximas etapas