A anatomia dos macOS App Bundles

Anatomia pachetelor de aplicații macOS
⏱️ 5 min read

O que há dentro de um aplicativo macOS e o que ele faz? Os aplicativos macOS parecem arquivos monolíticos, mas são mais como pastas com ícones sofisticados chamados de pacotes. Abra esses pacotes e você encontrará uma variedade de arquivos exigidos pelo aplicativo. O que isso tudo faz? A compreensão desses pacotes é útil para desenvolvedores, administradores, modders de jogos, construtores Hackintosh, usuários preocupados com segurança e qualquer pessoa que soluciona problemas em um aplicativo.

Como Corrigir O Erro “Este Acess...
Como Corrigir O Erro “Este Acessório Pode Não Ser Compatível” No IPhone

O que são macOS App Bundles?

Como definido pela Apple, um pacote é “um diretório com uma estrutura hierárquica padronizada que contém o código executável e os recursos usados ​​por esse código”. Com outro nome, é um aplicativo. Há uma estrutura e um formato específicos que devem ser seguidos pelos desenvolvedores para garantir que seus aplicativos sejam executados adequadamente. Quebre essas convenções e provavelmente você quebrará seu aplicativo. Se algo não estiver funcionando bem, um pacote de aplicativos pode ser um local útil para a solução de problemas.

Os aplicativos não são o único tipo de pacote. Os pacotes também são usados ​​para arquivos com extensões como .framework, .agrupar, .plugin e .kext. Os pacotes são exibidos como objetos unitários no Finder até que você entre neles abrindo o pacote do pacote.

Abrindo pacotes de aplicativos

Ao contrário dos diretórios, os pacotes de aplicativos requerem uma pequena dança para serem abertos.

1. Clique com o botão direito do mouse no ícone do aplicativo em “/ Aplicativos /”.

2. No menu de contexto, clique em “Mostrar conteúdo do pacote”.

3. Clique duas vezes na pasta “Conteúdo” para entrar no diretório principal do aplicativo.

Anatomia básica do macOS App Bundle

Na pasta “Conteúdo” do pacote, você encontrará vários arquivos. Todos os aplicativos macOS devem conter os seguintes arquivos, no mínimo:

  • Info.plist: inclui detalhes de configuração obrigatórios junto com strings de identificador de aplicativo.
  • MacOS / executável: o código que executa quando o usuário inicia a aplicação que se encontra na pasta “MacOS”. Sem um executável, você não tem muito pacote.
Macos App Bundle App Anatomy no Finder 2x

Provavelmente, você também encontrará vários arquivos adicionais em algumas pastas comuns:

  • Plugins: mini-executáveis ​​semelhantes a extensões que estendem a funcionalidade do executável principal. Ao contrário dos recursos estáticos, os plug-ins adicionam funcionalidades dinamicamente ao aplicativo.
  • Recursos: arquivos de suporte dos quais seu aplicativo depende. Esta pasta inclui, mas não está limitada a, imagens, ícones, sons, fontes, arquivos nib, localizações e armazenamentos de dados. Ao contrário dos plug-ins, esses recursos oferecem suporte à funcionalidade principal do executável.
  • Frameworks: assim como os plug-ins, as estruturas de alto nível exigidas pelo seu aplicativo são pacotes próprios. No entanto, eles empregam uma estrutura hierárquica diferente.
  • CodeSignature: um arquivo plist estruturado usado para fornecer assinatura de código para cada parte do aplicativo. Essas assinaturas permitem que o aplicativo e o macOS verifiquem a integridade do aplicativo e evitem ataques de sequestro de aplicativos.

pacotes de aplicativos iOS usam a mesma estrutura básica e formato de arquivo, embora frequentemente apareçam em uma hierarquia diferente.

Info.plist

Macos App Bundles Info Plist Xcode

O Info.plist é o resumo principal dos dados demográficos básicos do seu aplicativo. Isso inclui seu identificador de pacote, que deve ser exclusivo de todos os outros identificadores de pacote. Para simplificar esse processo, a Apple recomenda a notação de domínio reverso, como “com.apple.siri.launcher” ou “org.videolan.vlc”. Para saber mais sobre Info.plist, verifique Lista de chaves da Apple e considere o que cada tecla faz.

Este arquivo também contém informações básicas do aplicativo, como ícone do aplicativo, nome do aplicativo, número da versão, dados de direitos autorais, links para relatórios de erros e idioma padrão. Por convenção e regras do sistema, o “I” em “Info” é sempre maiúsculo.

Executável

É aqui que reside o código primário de seu aplicativo. Quando o aplicativo for aberto, o macOS executará o código contido no executável encontrado no diretório “MacOS” do pacote. Quase todo aplicativo terá apenas um único executável, embora dois ou mais possam ser usados ​​para executáveis ​​auxiliares. Esse arquivo normalmente não interessa a ninguém, exceto o desenvolvedor do software, uma vez que não pode ser facilmente visualizado ou editado pelo usuário.

Recursos e arquivos de suporte adicionais

Tudo o que for essencial para seu aplicativo deve ser incluído em seu pacote. Se não fizer parte do próprio executável, ele deve ir para uma das pastas de recursos do pacote. Esses recursos podem ser armazenados na pasta “Recursos” principal ou subdivididos em pastas diferentes.

  • Em caso de dúvida, a maioria dos recursos vai para a pasta “Recursos”.
  • Frameworks vão para a pasta “Frameworks”.
  • Os plug-ins vão para a pasta “Plug-ins”.
  • Os arquivos de localização (diretórios .lproj) vão para a pasta Recursos.

Fora desses requisitos, a Apple fornece muitas sugestões e convenções que devem ser seguidas, a menos que você tenha uma razão defensável para fazer o contrário.

Conclusão

Os aplicativos macOS estão contidos em pacotes, que são contêineres hierárquicos para arquivos de aplicativos. A estrutura básica é a mesma para todos os aplicativos. Os arquivos mais interessantes para o usuário são encontrados na pasta Recursos dentro do pacote do aplicativo.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Você pode gostar...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x