Distribuir paquetes personalizados para el Mac
Los dispositivos Apple son compatibles con la instalación inalámbrica de paquetes personalizados sin pasar por App Store. Hay dos formas de distribuir apps internas propias:
Mediante MDM
Mediante un sitio web
Utilizar MDM para distribuir apps
Para utilizar MDM, usa un archivo de manifiesto con InstallEnterpriseApplication
(archivo de manifiesto o manifiesto integrado) o con el comando InstallApplication
(archivo de manifiesto integrado). Es preferible utilizar el comando InstallEnterpriseApplication
porque es compatible con sha256 y la fijación de certificados. Si quieres más información, consulta Comandos MDM.
Utilizar un sitio web para distribuir apps
Crea un paquete de contenido, como la app, las fuentes y los scripts a instalar en el Mac.
Eres tú quien decides cómo diseñar y alojar el sitio web que se utiliza para distribuir estos paquetes. Asegúrate de autenticar a los usuarios y de que se pueda acceder al sitio web desde la intranet o desde internet en función de tus necesidades. Carga el archivo de paquete (con una extensión de nombre de archivo .pkg) en un área de tu sitio web a la que puedan acceder los usuarios autenticados.
Es posible que tengas que configurar tu servidor web para que el paquete se transmita correctamente. En el caso del servidor, añade el tipo MIME a los ajustes de tipos MIME del servicio web:
application/octet-stream pkg
En el caso de internet Information Server (IIS) de Microsoft, utiliza el administrador de IIS para añadir el tipo MIME a la página de propiedades del servidor:
.pkg/octet-stream
Archivo de manifiesto típico para macOS
A continuación puedes ver un ejemplo de un archivo de manifiesto, que es una lista de propiedades XML (archivo .plist). Son obligatorios los siguientes campos:
URL: URL HTTPS completa del paquete
kind: Debe definirse en paquete de software
Los siguientes campos son opcionales para la fragmentación:
md5-size: El tamaño de cada fragmento
md5s: Los hashes de md5 para cada fragmento
sha256-size: El tamaño de cada fragmento
sha256s: Los hashes de sha256 para cada fragmento
Archivo de manifiesto de ejemplo para un paquete de Mac
A continuación, un archivo de manifiesto de ejemplo. Ten en cuenta que en los campos para la fragmentación, si se proporciona información de fragmentación sha256 y md5, sha256 tendrá preferencia.
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- array of downloads. -->
<key>items</key>
<array>
<dict>
<!-- an array of assets to download -->
<key>assets</key>
<array>
<dict>
<!-- Required. The asset kind. -->
<key>kind</key>
<string>software-package</string>
<!-- Optional. md5 is used here for chunking every 10 MB; Can also use sha256-size. -->
<key>md5-size</key>
<integer>10485760</integer>
<!-- Array of md5 hashes for each "md5-size" sized chunk; Can also use sha256s. -->
<key>md5s</key>
<array>
<string>41fa64bb7a7cae5a46bfb45821ac8b99</string>
<string>51fa64bb7a7cae5a46bfb45821ac8b98</string>
<string>61fa64bb7a7cae5a46bfb45821ac8b97</string>
</array>
<!-- required. the URL of the package to download. -->
<key>url</key>
<string>https://www.betterbag.com/apps/myapp.pkg</string>
</dict>
</array>
</dict>
</array>
</dict>
</plist>
Generar una firma de código
En la app Terminal, introduce el primer comando (escribiéndolo) y, en la misma línea, la aplicación (arrastrándola desde una ventana del Finder). Por ejemplo:
codesign -display -r - /Aplicaciones/NombreEmpresa\ NombreAplicación.app