Partilhar via


Emparelhar ao Mac para desenvolvimento de iOS

A criação de aplicativos iOS nativos usando o .NET Multi-platform App UI (.NET MAUI) requer acesso às ferramentas de compilação da Apple, que só são executadas em um Mac. Por isso, o Visual Studio 2022 deve se conectar a um Mac acessível pela rede para criar aplicativos .NET MAUI iOS.

O recurso Emparelhar com Mac do Visual Studio 2022 deteta, se conecta, autentica e lembra hosts de compilação do Mac para que você possa trabalhar de forma produtiva no Windows.

O emparelhamento com o Mac permite o seguinte fluxo de trabalho de desenvolvimento de software:

  • Você pode escrever código .NET MAUI iOS no Visual Studio 2022.
  • O Visual Studio 2022 abre uma conexão de rede com um host de compilação do Mac e usa as ferramentas de compilação nessa máquina para compilar e assinar o aplicativo iOS.
  • Não há necessidade de executar um aplicativo separado no Mac – o Visual Studio 2022 invoca compilações do Mac com segurança sobre SSH.
  • O Visual Studio 2022 é notificado das alterações assim que elas acontecem. Por exemplo, quando um dispositivo iOS é conectado ao Mac ou fica disponível na rede, a Barra de Ferramentas iOS é atualizada instantaneamente.
  • Várias instâncias do Visual Studio 2022 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 artigo, num Mac, instale o Xcode. Em seguida, abra manualmente o Xcode, após a instalação, para que ele possa adicionar componentes adicionais. Você também deve instalar o Mono. Além disso, se você tiver um computador Mac com silício da Apple, certifique-se de que o Rosetta esteja instalado.

O Visual Studio 2022 configurará automaticamente o host de compilação do Mac. No entanto, você ainda deve instalar e executar o Xcode e instalar o Mono.

Ativar o login remoto no Mac

Para configurar o host de compilação do Mac, primeiro habilite o login remoto:

  1. No Mac, abra Preferências do Sistema e vá para o painel de Partilha.

  2. Habilite de Login Remoto na lista Avançado.

    Ativar configuração de login remoto.

  3. Clique no e ao lado da configuração de login remoto para configurar definições adicionais:

    • Habilite Permitir acesso total ao disco para usuários remotos.

    • Certifique-se de que o login remoto está configurado para permitir o acesso para Todos os utilizadores, ou certifique-se de que o seu nome de utilizador ou grupo Mac está incluído na lista de utilizadores permitidos.

    Permitir acesso total ao disco e permitir acesso para todas as configurações de usuários.

  4. Se solicitado, configure o firewall do macOS. Se você tiver configurado o firewall do macOS para bloquear conexões de entrada, talvez seja necessário permitir que mono-sgen receba conexões de entrada. Em caso afirmativo, é exibido um alerta.

  5. Se estiver na mesma rede que a máquina Windows, o Mac agora deve ser detetável pelo Visual Studio 2022. Se o Mac ainda não for detetado, tente adicionar um Mac manualmente .

Conectar-se ao Mac a partir do Visual Studio 2022

Depois de ativar o login remoto no Mac, conecte o Visual Studio 2022 ao Mac:

  1. No Visual Studio 2022, abra um projeto .NET MAUI existente ou crie um novo.

  2. Abra a caixa de diálogo Emparelhar com Mac utilizando o botão Emparelhar com Mac na barra de ferramentas do iOS:

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

    Como alternativa, selecione Ferramentas > iOS > Emparelhar com Mac.

    A caixa de diálogo Emparelhar com Mac exibe uma lista detalhada de todos os hosts de compilação Mac anteriormente conectados e atualmente disponíveis.

    A caixa de diálogo Emparelhar com Mac.

  3. Selecione um Mac na lista e clique em Conectar.

  4. Introduza o seu nome de utilizador e palavra-passe. Na primeira vez que se ligar a um Mac em particular, ser-lhe-á pedido que introduza o seu nome de utilizador e palavra-passe para essa máquina:

    Introduzir um nome de utilizador e palavra-passe para o Mac.

    Dica

    Ao iniciar sessão, utilize o nome de utilizador do sistema.

    O Emparelhamento com o Mac usa estas credenciais para criar uma nova conexão SSH ao Mac. Se for bem-sucedido, uma chave será adicionada ao arquivo authorized_keys no Mac. As ligações subsequentes ao mesmo Mac iniciarão sessão automaticamente.

  5. Emparelhar ao Mac configura-o automaticamente. O Visual Studio 2022 instala ou atualiza os pré-requisitos em um host de compilação Mac conectado, conforme necessário. No entanto, o Xcode ainda deve ser instalado manualmente.

  6. Examine o ícone de status da conexão. Quando o Visual Studio 2022 está conectado a um Mac, o item desse Mac na caixa de diálogo Emparelhar com Mac exibe um ícone indicando que ele está conectado no momento:

    Um Mac conectado.

    Só pode haver um Mac ligado de cada vez.

    Dica

    Clicar com o botão direito do rato em qualquer Mac na lista Emparelhar com Mac abre um menu de contexto que lhe permite Ligar..., Esqueça este Macou Desconectar:

    Os menus de contexto Emparelhar com o Mac.

    Se escolher Esquecer este Mac, as suas credenciais para o Mac selecionado serão esquecidas. Para voltar a ligar-se a esse Mac, terá de voltar a introduzir o seu nome de utilizador e palavra-passe.

Se tiver emparelhado com êxito com um host de compilação Mac, está pronto para criar aplicações .NET MAUI iOS no Visual Studio 2022. Para obter mais informações, consulte Criar seu primeiro aplicativo.

Se não conseguir emparelhar um Mac, tente adicionar manualmente um Mac.

Adicionar manualmente um Mac

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

  1. Abra Preferências do Sistema > Partilhar > de Início de Sessão Remoto no seu Mac para localizar o endereço IP do seu Mac:

    o endereço IP do Mac em Preferências do Sistema > Partilha.

    Como alternativa, use a linha de comando. No Terminal , emita o seguinte comando:

    ipconfig getifaddr en0
    

    Dependendo da configuração da rede, talvez seja necessário usar um nome de interface diferente de en0, por exemplo, en1 ou en2.

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

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

  3. Digite o endereço IP do Mac e selecione Adicionar:

    Introduzir o endereço IP do Mac.

  4. Introduza o seu nome de utilizador e palavra-passe para o Mac:

    Introduza um nome de utilizador e uma palavra-passe.

    Dica

    Ao iniciar sessão, utilize o nome de utilizador do sistema.

  5. Selecione Login para conectar o Visual Studio 2022 ao Mac através de SSH e adicioná-lo à lista de máquinas conhecidas.

Ativar a ligação automática a Macs conhecidos

Por padrão, uma conexão com Macs emparelhados anteriormente não será estabelecida quando o Visual Studio for iniciado. No entanto, a conexão automática com Macs conhecidos pode ser ativada no Visual Studio navegando até Ferramentas > Opções > Xamarin > Configurações de iOS e garantindo que Habilitar conexão automática a Macs conhecidos estiver selecionada:

Habilite a conexão automática para Macs conhecidos no Visual Studio.

Depois de reiniciar o Visual Studio, ele se conectará automaticamente a Macs conhecidos em cada inicialização.

Provisionamento automático de Mac

Emparelhamento com um Mac provisiona automaticamente o Mac com o software necessário para criar aplicativos iOS .NET MAUI. Isso inclui o .NET e várias ferramentas relacionadas ao Xcode (mas não o próprio Xcode).

Importante

  • Emparelhar com o Mac não é possível instalar o Xcode. Você deve instalá-lo manualmente no host de compilação do Mac. É necessário para o desenvolvimento do .NET MAUI iOS.
  • O provisionamento automático de Mac requer que o login remoto esteja ativado no Mac e o Mac deve ser acessível em rede para a máquina Windows.
  • O provisionamento automático do Mac requer espaço livre suficiente no Mac para instalar o .NET.

Além disso, o Pair to Mac executa as instalações de software e atualizações necessárias no Mac, quando o Visual Studio 2022 estabelece a conexão.

Ferramentas e licença Xcode

Emparelhar com o Mac também verificará se o Xcode foi instalado e se a sua licença foi aceite. Embora o Pair to Mac não instale o Xcode, solicita a aceitação da licença.

Além disso, o Pair to Mac instalará ou atualizará vários pacotes distribuídos com o Xcode. A instalação desses pacotes acontece rapidamente e sem um prompt.

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

Se você encontrar algum problema ao usar o provisionamento automático do Mac, dê uma olhada nos logs do IDE do Visual Studio 2022, armazenados em %LOCALAPPDATA%\Xamarin\Logs\17.0. Esses logs podem conter mensagens de erro para ajudá-lo a diagnosticar melhor a falha ou obter suporte.

Crie aplicativos iOS a partir da linha de comando do Windows

Emparelhar com Mac suporta a criação de aplicativos .NET MAUI a partir da linha de comando. Navegue até a pasta que contém a origem do seu aplicativo .NET MAUI iOS e execute o seguinte comando:

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/

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

  • ServerAddress – o endereço IP do host de compilação do Mac.
  • ServerUser – o nome de usuário a ser usado ao fazer login no host de compilação do Mac. Use seu nome de usuário do sistema em vez de seu nome completo.
  • ServerPassword – a senha a ser usada ao fazer login no host de compilação do Mac.
  • _DotNetRootRemoteDirectory - a pasta no host de compilação do Mac que contém o SDK do .NET.

A primeira vez que o Pair to Mac inicia sessão num hospedeiro de compilação Mac a partir do Visual Studio 2022 ou da linha de comando, configura chaves SSH. Com essas chaves, logins 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 em linha de comando, Pair to Mac tentará fazer login no host de compilação do Mac usando as chaves SSH salvas.

Para obter mais informações sobre como criar aplicativos iOS a partir da linha de comando do Windows, consulte Publicar um aplicativo iOS usando a linha de comando.