estamos hablando de dos cosas:
- primera y más importante aún, el método estándar por el cual los bits de un archivo ejecutable echar un polvo en el disco de una manera que sea accesible y debidamente registrada por el sistema
- segundos, el mecanismo para la preparación de la .app, según lo recomendado por Apple
Una página más antigua de marketing en Apple's site dice que es recomendado para crear paquetes (por lo que la aplicación de instalación puede mover los bits en su lugar) con el Packag aplicación eMaker. Su uso se describe aquí: mactech.com/articles/mactech/Vol.25/25.03/2503MacEnterprise-PackagingforSystemAdministrators/index.html.
Pero como han mencionado otros, el elefante en la habitación es MacAppStore (MAS). Hasta su debut, lo que era estándar para las grandes compañías eran sus propias secuencias de comandos personalizadas en un paquete 'paquete' de estilo antiguo o el uso de un ejecutable como el instalador VISE. Los desarrolladores más pequeños generalmente intentan hacer que su aplicación se instale a través de arrastrar y soltar, distribuida en archivos comprimidos o imágenes de disco (por razones de simplicidad). El MAS es diferente: a partir de 10.7 utiliza un formato de paquete (que debutó en 10.5) denominado paquete plano (realmente un archivo xar, explicación here) que se transfiere a una carpeta oculta a través de http, se instala directamente en Aplicaciones (después de lo cual se elimina la carpeta temporal en la que se descarga). Se deja caer su recepción y un proyecto de ley o material de archivo en// var/db privado, y por tanto es capaz de auditoría por la incorporada en la línea de comandos pkgutil herramienta, que se describe aquí: mactech.com/articles/mactech/Vol.25/25.12 /2512MacEnterprise-PackagesReceiptsandSnow/index.html
Una de las ventajas del uso del formato de paquete plano es que puede extraer cosas de la red de forma más segura y eficiente, pero no es tan fácil trabajar con paquetes de paquete si está probando y modificar el paquete regularmente, o iterar para garantizar que los scripts que realizan acciones o verificaciones funcionen bien. Incluso cuando está plano, se recomienda colocar el paquete en un archivo o imagen de disco para mayor flexibilidad. Más herramientas de distribución esperan DMG que zip, por lo que también hay eso.
Además de lo que Apple recomienda y lo que es estándar, práctica común, hay este artículo: https://www.afp548.com/2010/06/03/the-commandments-of-packaging-in-os-x/ que analiza los por qué y cómo (aunque principalmente para los administradores del sistema) de envases para una distribución más amplia. Se recomienda mucho tener una idea más clara de cómo y por qué las cosas van mal y qué evitar.
pregunta novato, pero ¿por qué no podemos distribuir el archivo .app por sí mismo y que el usuario copiarlo en la carpeta de aplicaciones, en lugar de crear un archivo DMG? –
Porque un .app no es un archivo. Solo se ve como un "archivo" para el usuario, pero en realidad es un "paquete". Un directorio especialmente estructurado, marcado para que el usuario lo vea, y arrástrelo como si fuera solo un archivo.Los "paquetes" son algo muy "Mac", y no viajan bien por correo electrónico o descargas, y especialmente no en discos formateados en Windows. Sin embargo, los archivos DMG (Imagen de disco) son solo "Secuencia de bytes" en el disco, que se pueden transferir fácilmente. –
@MottiShneor, ¿no es esto para lo que son los archivos .zip? ;) –