Macos App Bundle Anatomy Hero

La anatomía de los paquetes de aplicaciones de macOS

¿Qué hay dentro de una aplicación macOS y qué hace? Las aplicaciones de macOS parecen archivos monolíticos, pero son más como carpetas con íconos elegantes llamados paquetes. Abra esos paquetes y encontrará una variedad de archivos requeridos por la aplicación. ¿Qué hace todo esto? La comprensión de estos paquetes es útil para desarrolladores, administradores, modders de juegos, desarrolladores de Hackintosh, usuarios preocupados por la seguridad y cualquier persona que solucione problemas de una aplicación.

¿Qué son los paquetes de aplicaciones de macOS?

Como definido por Apple, un paquete es «un directorio con una estructura jerárquica estandarizada que contiene el código ejecutable y los recursos utilizados por ese código». Por otro nombre, eso es una aplicación. Hay una estructura y un formato específicos que los desarrolladores deben cumplir para garantizar que su aplicación funcione correctamente. Rompe esas convenciones y es probable que rompas tu aplicación. Si algo no funciona del todo bien, un paquete de aplicaciones puede ser una ubicación útil para la solución de problemas.

Las aplicaciones no son el único tipo de paquetes. Los paquetes también se utilizan para archivos con extensiones como .framework, .paquete, .plugin y .kext. Los paquetes se muestran como objetos unitarios en el Finder hasta que entras en ellos abriendo el paquete del paquete.

Abrir paquetes de aplicaciones

A diferencia de los directorios, los paquetes de aplicaciones requieren un breve baile para abrirse.

1. Haga clic con el botón derecho en el icono de la aplicación en “/Aplicaciones/”.

2. En el menú contextual, haga clic en «Mostrar contenido del paquete».

Paquetes de aplicaciones Macos Mostrar contenido del paquete

3. Haga doble clic en la carpeta «Contenido» para ingresar al directorio principal de la aplicación.

Anatomía básica del paquete de aplicaciones de macOS

Dentro de la carpeta «Contenido» del paquete, encontrará varios archivos. Todas las aplicaciones de macOS deben contener los siguientes archivos como mínimo:

  • Información.plist: incluye detalles de configuración obligatorios junto con cadenas de identificadores de aplicaciones.
  • MacOS/ejecutable: el código que se ejecuta cuando el usuario inicia la aplicación que se encuentra dentro de la carpeta «MacOS». Sin un ejecutable, no tienes mucho de un paquete.

Aplicación Macos App Bundle Aplicación de anatomía en Finder 2x

También es probable que encuentre una gran cantidad de archivos adicionales en algunas carpetas comunes:

  • Complementos: mini-ejecutables similares a extensiones que amplían la funcionalidad del ejecutable principal. A diferencia de los recursos estáticos, los complementos agregan dinámicamente funcionalidad a la aplicación.
  • Recursos: admite archivos en los que se basa su aplicación. Esta carpeta incluye, entre otros, imágenes, íconos, sonidos, fuentes, archivos de punta, localizaciones y almacenes de datos. A diferencia de los complementos, estos recursos admiten la funcionalidad principal del ejecutable.
  • Marcos: al igual que los complementos, los marcos de trabajo de alto nivel requeridos por su aplicación son paquetes propios. Sin embargo, emplean una estructura jerárquica diferente.
  • CódigoFirma: un archivo plist estructurado que se utiliza para proporcionar una firma de código para cada parte de la aplicación. Estas firmas permiten que la aplicación y macOS verifiquen la integridad de la aplicación y eviten ataques de secuestro de aplicaciones.

Paquetes de aplicaciones de iOS usan la misma estructura básica y formato de archivo, aunque a menudo aparecen en una jerarquía diferente.

Información.plist

Macos Paquetes de aplicaciones Información Plist Xcode

Info.plist es el resumen principal de los datos demográficos básicos de su aplicación. Esto incluye su identificador de paquete, que debe ser único de todos los demás identificadores de paquete. Para simplificar este proceso, Apple recomienda la notación de dominio inversa, como «com.apple.siri.launcher» u «org.videolan.vlc». Para obtener más información sobre Info.plist, consulte Lista de claves de Apple y considere lo que hace cada tecla.

Este archivo también contiene información básica de la aplicación, como el ícono de la aplicación, el nombre de la aplicación, el número de versión, los datos de derechos de autor, los enlaces para el informe de errores y el idioma predeterminado. Por convención y reglas del sistema, la «I» en «Info» siempre se escribe con mayúscula.

Ejecutable

Aquí es donde vive el código principal de su aplicación. Cuando se abre la aplicación, macOS ejecutará el código contenido en el ejecutable que se encuentra en el directorio «MacOS» del paquete. Casi todas las aplicaciones solo tendrán un único ejecutable, aunque se pueden usar dos o más como ejecutables auxiliares. Este archivo normalmente no es interesante para nadie, excepto para el desarrollador del software, ya que el usuario no puede verlo ni editarlo fácilmente.

Recursos y archivos de soporte adicionales

Todo lo esencial para su aplicación debe estar incluido en su paquete. Si no es parte del ejecutable en sí, debe ir en una de las carpetas de recursos dentro del paquete. Estos recursos pueden almacenarse en la carpeta principal «Recursos» o subdividirse en diferentes carpetas.

  • En caso de duda, la mayoría de los recursos van a la carpeta «Recursos».
  • Los marcos van en la carpeta «Frameworks».
  • Los complementos van en la carpeta «Complementos».
  • Los archivos de localización (directorios .lproj) se encuentran en la carpeta Recursos.

Fuera de esos requisitos, Apple brinda muchas sugerencias y convenciones que deben seguirse a menos que tenga una razón justificable para hacer lo contrario.

Conclusión

Las aplicaciones macOS están contenidas en paquetes, que son contenedores jerárquicos para archivos de aplicaciones. La estructura básica es la misma para todas las aplicaciones. Los archivos más interesantes para el usuario se encuentran en la carpeta Recursos dentro del paquete de la aplicación.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Experto Geek - Tu Guía en Tendencias Tecnológicas