Share via


Suporte à extensão de Xamarin.Mac

No Xamarin.Mac 2.10 foi adicionado suporte para vários pontos de extensão do macOS:

  • Finder
  • Compartilhar
  • Hoje

Limitações e problemas conhecidos

A seguir estão as limitações e problemas conhecidos que podem ocorrer ao desenvolver extensões no Xamarin.Mac:

  • No momento, não há suporte de depuração no Visual Studio para Mac. Toda a depuração precisará ser feita via NSLog e pelo Console. Consulte a seção de dicas abaixo para obter detalhes.
  • As extensões devem estar contidas em um aplicativo host, que quando executado uma vez com registro no sistema. Eles devem ser habilitados na seção Extensão das Preferências do Sistema.
  • Algumas falhas de extensão podem desestabilizar o aplicativo host e causar um comportamento estranho. Em particular, o Finder e a seção Hoje da Central de Notificações podem ficar "congestionados" e deixar de responder. Isso também foi experimentado em projetos de extensão no Xcode e, atualmente, não está relacionado ao Xamarin.Mac. Muitas vezes, isso pode ser visto no log do sistema (via Console, consulte Dicas para obter detalhes) imprimindo mensagens de erro repetidas. Reiniciar o macOS parece corrigir isso.

Dicas

As dicas a seguir podem ser úteis ao trabalhar com extensões no Xamarin.Mac:

  • Como o Xamarin.Mac atualmente não oferece suporte a extensões de depuração, a experiência de depuração dependerá principalmente da execução e printf instruções semelhantes. No entanto, as extensões são executadas em um processo de área restrita, portanto Console.WriteLine , não agirão como em outros aplicativos Xamarin.Mac. Invocar NSLog diretamente enviará mensagens de depuração para o Log do Sistema.

  • Quaisquer exceções não detectadas travarão o processo de extensão, fornecendo apenas uma pequena quantidade de informações úteis no Log do Sistema. Encapsular código problemático em um try/catch bloco (Exceção) que NSLogé antes de relançar pode ser útil.

  • O Log do Sistema pode ser acessado no aplicativo Console em Utilitários de Aplicativos>:

    O log do sistema

  • Como mencionado acima, a execução do aplicativo host de extensão irá registrá-lo com o sistema. Excluindo o pacote de aplicativos com cancelá-lo.

  • Se versões "desgarradas" das extensões de um aplicativo estiverem registradas, use o seguinte comando para localizá-las (para que possam ser excluídas): plugin kit -mv

Passo a passo

Como o desenvolvedor criará e trabalhará com extensões Xamarin.Mac da mesma forma que as extensões Xamarin.iOS, consulte nossa documentação de Introdução às extensões para obter mais detalhes.

Resumo

Este artigo deu uma olhada rápida no trabalho com extensões em um aplicativo Xamarin.Mac versão 2.10 (e superior).