Opções do vinculador do Xamarin.Mac
A vinculação é uma poderosa ferramenta de otimização que reduz o tamanho do seu aplicativo, removendo o código não utilizado.
Visão geral
Com base na Estrutura de Destino utilizada pelo seu projeto, as opções de vinculador disponíveis podem ser limitadas. Isso ocorre devido ao fato de que a vinculação requer a criação de um gráfico de objeto de todo tipo usado pelo seu aplicativo e isso não é possível no Completo (ou Sem Suporte) devido a System.Configuration.
Há quatro opções disponíveis:
- Nenhum – Desabilitar todas as vinculações. O padrão na configuração de Depuração no Moderno e todas as configurações no Completo.
- SDK – Vincula todos os assemblies do SDK, exceto os assemblies de usuário. Padrão na configuração de Versão no Moderno. Indisponível no Completo.
- Completo – Vincula todos os assemblies. Isso requer que o código do usuário seja seguro para o vinculador, confira as notas para obter mais informações. Indisponível no Completo.
- Plataforma – Vincula somente o Xamarin.Mac.dll. Confira os detalhes abaixo.
Vinculação de plataforma
Os aplicativos de vinculação que usam a Estrutura de Destino Completa são geralmente inseguros, mas há uma série de cenários em que uma forma bastante limitada de vinculação é necessária.
Por exemplo, os Aplicativos enviados para a App Store do macOS não devem fazer referência a uma série de APIs obsoletas (como QTKit), algumas das quais contêm associações do Xamarin.Mac. Mesmo se um aplicativo não chamar essas associações, a invocação existirá no SDK e será rejeitada.
A vinculação da plataforma pressupõe que o aplicativo e a BCL são inseguras para o vinculador e apenas removem o código não utilizado do Xamarin.Mac.dll.
Os aplicativos que não refletirem nos tipos de Xamarin.Mac.dll observarão uma pequena melhoria de inicialização com a remoção dos tipos desnecessários.
A vinculação de plataforma geralmente só é útil para aplicativos que usam a estrutura de destino Completa, uma vez que um aplicativo Moderno pode usar a opção de SDK mais eficiente.
Definir a configuração do vinculador
Para alterar a configuração do vinculador para um projeto Xamarin.Mac, faça o seguinte:
Abra o projeto Xamarin.Mac no Visual Studio para Mac.
No Gerenciador de Soluções, clique duas vezes no arquivo do projeto para abrir a caixa de diálogo Opções de Projeto.
Na guia Build do Mac, selecione o tipo de Comportamento do Vinculador que atende às necessidades do aplicativo:
A vinculação da plataforma para Estruturas de Destino Completas não aparecerá no IDE até uma atualização futura. Até lá, adicione
--linkplatform
aos argumentos mmp adicionais .Clique no botão OK para salvar suas alterações.