Paquete (macOS)


En NeXTSTEP , OPENSTEP , GNUstep y sus descendientes lineales macOS e iOS , un paquete es un directorio de archivos con una estructura y extensión de archivo definidas, lo que permite agrupar archivos relacionados como un solo elemento conceptual.

Los 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 usa 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 elEscritorio ROX .

Los ejemplos de paquetes que no contienen código ejecutable incluyen paquetes de documentos ( documentos de iWork ) y bibliotecas de medios (biblioteca de iPhoto ).

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

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, el primer directorio del paquete debajo del directorio de nivel superior generalmente se llama Contents. Dentro Contentssuele haber otro directorio (llamado MacOSen Mac), que contiene el código ejecutable de la aplicación. Dentro de la Contentscarpeta suele haber también un directorio llamado Resources, que contiene los recursos de la aplicación.

Entre otras cosas, la Resourcescarpeta contiene versiones localizadas de los archivos nib de la aplicación .