stringtranslate.com

Paquete (macOS)

En NeXTSTEP , OPENSTEP y sus descendientes lineales macOS , iOS , iPadOS , tvOS y watchOS , y en GNUstep , un paquete es un directorio de archivos con una estructura y extensión de archivo definidas, que permite agrupar archivos relacionados como un elemento conceptualmente único. .

Ejemplos de paquetes que contienen código ejecutable incluyen aplicaciones , marcos y complementos . Este tipo de paquete generalmente contiene un archivo que representa el código ejecutable y archivos que representan recursos como puntas , plantillas, imágenes, sonidos y otros medios. En algunos otros sistemas, como Microsoft Windows , estos recursos generalmente se incluyen directamente en el archivo ejecutable en el momento de la compilación. En Macintosh más antiguos, se utiliza una técnica similar, donde se pueden agregar metadatos adicionales a la bifurcación de recursos de un archivo . Similares en concepto son los directorios de aplicaciones utilizados en RISC OS y en ROX Desktop .

Ejemplos de paquetes que no contienen código ejecutable incluyen paquetes de documentos ( documentos de iWork ) y bibliotecas multimedia ( biblioteca de iPhoto ).

Se accede a los paquetes mediante programación con la NSBundleclase en los marcos Cocoa , NeXTSTEP y GNUstep's Foundation , y CFBundleen Core Foundation . Los paquetes suelen incluir una información. plist archivo para metadatos. [1] El identificador de tipo uniforme (UTI) para un paquete de Apple es . [2]com.apple.bundle

Paquetes de aplicaciones

Los paquetes de aplicaciones son jerarquías de directorios, y el directorio de nivel superior tiene un nombre que termina con una .appextensión.

En un paquete de aplicaciones de macOS, el primer directorio del paquete debajo del directorio de nivel superior suele denominarse Contents. Dentro Contentssuele haber otro directorio, llamado MacOS, que contiene el código ejecutable de la aplicación. La Contentscarpeta contiene un archivo llamado Info.plist, que contiene información de la aplicación, como el nombre del proveedor del software, el nombre de los archivos que contienen el ejecutable y el ícono de la aplicación, la versión de la aplicación, los permisos solicitados, etc. Dentro de la Contentscarpeta generalmente también hay un directorio llamado Resources, que contiene los recursos de la aplicación. [3]

Entre otras cosas, la carpeta contiene versiones localizadas de los archivos nibResources de la aplicación .

Otros subdirectorios comunes incluyen Plugins, y Frameworks. El directorio contiene marcos utilizados por la aplicación y se utilizan incluso si existe otra versión del marco en el sistema. El directorio contiene marcos que pueden ser utilizados tanto por la aplicación que los contiene como por otras aplicaciones; se utilizan sólo si no existe una versión más reciente en ninguna otra parte del sistema. Contiene código extensible utilizado por la aplicación. La carpeta contiene información utilizada por el sistema para validar que el paquete proviene de una parte confiable y no ha sido manipulado._CodeSignatureShared FrameworksFrameworksShared FrameworksPlugins_CodeSignature

De forma predeterminada, el Finder muestra paquetes de aplicaciones, que también pueden denominarse paquetes , como archivos opacos sin estructura subyacente; El contenido del paquete se puede mostrar con el elemento del menú contextual "Mostrar contenido del paquete" .

GNUstep utiliza de forma predeterminada el nombre de la aplicación para nombrar la carpeta que contiene el código de la aplicación. Una alternativa es nombrarlos según la arquitectura de la computadora y el sistema operativo para el que está destinado el código para formar un binario grueso , de modo que la aplicación se pueda abrir en muchas plataformas. [4] [5]

Paquetes de marcos de macOS

Los marcos de macOS también se almacenan como paquetes; [6] el directorio de nivel superior de un paquete de marco tiene un nombre que es el nombre del marco seguido de la extensión .framework. En el directorio de nivel superior hay un Versionsdirectorio, con subdirectorios para una o más versiones del marco, cada subdirectorio contiene el código de la biblioteca dinámica para el marco, en un archivo cuyo nombre es el mismo que el nombre del marco, posiblemente con un Headerscarpeta que contiene archivos de encabezado para el marco y otras subcarpetas como Resources. El Versionsdirectorio también contiene un enlace simbólico Currental directorio de la versión actual del marco. En el directorio de nivel superior hay enlaces simbólicos al contenido de Versions/Current. [7]

El Finder muestra paquetes de marcos como directorios en lugar de archivos opacos.

Aunque GNUstep utiliza marcos, normalmente no se almacenan como paquetes. Esto se debe a que la semántica completa de la carga del marco se considera demasiado ajena a otras plataformas. [8]

Paquetes cargables

Los paquetes cargables son paquetes que contienen código que se puede cargar en tiempo de ejecución. [9] Los paquetes cargables suelen tener la extensión .bundley se utilizan con mayor frecuencia como complementos . En macOS, existe una manera de cargar paquetes incluso en aplicaciones que no los admiten, lo que permite hacks de terceros para aplicaciones populares, como Safari [10] y Apple Mail . [11] [12] GNUstep, una característica heredada de NeXTSTEP, -[NSBundle principalClass]también tiene la interfaz.

De forma predeterminada, el Finder muestra paquetes cargables, que también pueden denominarse paquetes , como archivos opacos sin estructura subyacente; El contenido del paquete se puede mostrar con el elemento del menú contextual "Mostrar contenido del paquete" .

Otros formatos de paquete

Hay muchas aplicaciones macOS que utilizan su propio formato de paquete personalizado (por ejemplo, CandyBar .iContainer , Aperture .aplibrary , VMware Fusion .vmwarevm , etc.).

.lproj

Un archivo .lproj es un paquete que contiene archivos de localización para el software OpenStep, macOS o GNUstep. Por lo general, contiene los .nibarchivos para un idioma determinado junto con .stringsarchivos e imágenes si es necesario (por ejemplo, Léame o archivos de licencia). Los fabricantes de instaladores utilizan estos archivos localizados para personalizar los paquetes de instalación. También están incluidos en un paquete de aplicaciones.

Ver también

Referencias

  1. ^ "Lista de propiedades de información: paquetes de recursos". Documentación para desarrolladores de Apple .
  2. ^ "Identificadores de tipo uniforme declarados por el sistema". Referencia de identificadores de tipo uniforme . Apple Inc. Consultado el 10 de junio de 2012 .
  3. ^ "Estructuras de paquete". Guía de programación de paquetes . Apple Inc. 2017-03-27. Paquetes de aplicaciones.
  4. ^ "Borradores de embalaje/GNUstep". Wiki del Proyecto Fedora .
  5. ^ "gnustep/tools-make: README.Packaging". GitHub . 5 de diciembre de 2021.
  6. ^ "Marco". desarrollador.apple.com . Consultado el 6 de octubre de 2020 .
  7. ^ "Estructuras de paquete". Guía de programación de paquetes . Apple Inc. 2017-03-27. Anatomía de un paquete de marco.
  8. ^ "Preguntas frecuentes del usuario". Paso GNU .
  9. ^ Temas de programación de carga de código para Cocoa: acerca de paquetes cargables
  10. ^ "Pimp My Safari: complementos". Archivado desde el original el 31 de octubre de 2007.
  11. ^ "Herramientas y complementos de Apple Mail". Archivado desde el original el 8 de marzo de 2009 . Consultado el 4 de noviembre de 2007 .
  12. ^ "Hawk Wings: complementos para Apple Mail". Archivado desde el original el 31 de agosto de 2007.

Enlaces externos