J'ai créé ma première application Qt pour Mac OS X. Je souhaite maintenant créer un fichier .dmg permettant à l'utilisateur de l'installer facilement. Je pense à quelque chose comme firefox (voir la photo):
Je suis complètement nouveau dans ce domaine, alors je ne sais même pas par où commencer.
Mise à jour de cette question en fournissant cette réponse.
appdmg
est un programme de ligne de commande open source, simple, facile à utiliser, qui crée des fichiers dmg à partir d'une simple spécification Json. Jetez un coup d'œil au readme sur le site officiel:
https://github.com/LinusU/node-appdmg
Exemple rapide:
Installer appdmg
npm install -g appdmg
Ecrire un fichier json (spec.json
)
{
"title": "Test Title",
"background": "background.png",
"icon-size": 80,
"contents": [
{ "x": 192, "y": 344, "type": "file", "path": "TestApp.app" },
{ "x": 448, "y": 344, "type": "link", "path": "/Applications" }
]
}
Exécuter de programme
appdmg spec.json test.dmg
(disclaimer. Je suis le créateur de appdmg)
C’est assez simple - l’idée de base est de créer une image vierge en utilisant tilitaire de disque (rendez-la assez grande pour tenir au moins votre contenu - la taille exacte importe peu), ouvrez cette image en utilisant - Finder, placez vos éléments et organisez-les comme vous le souhaitez (utilisez les boutons droit de la souris et Options d'affichage pour définir des paramètres tels que la taille des icônes ou l'image d'arrière-plan). C'est presque tout - il ne reste plus qu'à convertir cette image r/w en une image compressée: éjectez-la et utilisez Convertir en tilitaire de disque pour le convertir en une image compressée.
Aucune des réponses existantes ne l’a vraiment fait pour moi; une réponse est manuelle, et les deux autres options - iDMG et node-appdmg - impliquent toutes les deux l'application de script du Finder, ce qui n'est pas idéal.
La meilleure façon de le faire en tant que phase de construction automatique est de créer un template.dmg qui ressemble exactement à ce que vous voulez (en suivant les instructions habituelles, par exemple la réponse de Simon Urbanek, mais sans effectuer la dernière étape de compression), puis dans votre construction. scénario:
Il y a un fichier makefile à l'emplacement https://github.com/remko/fancy-dmg/ qui contient ces étapes.
Ce script rend la génération DMG très facile: https://github.com/andreyvit/create-dmg
De plus, il n'y a pas de dépendance de noeud :-)
Vous pouvez le faire avec le Finder:
disk utility
Dans le tableau de bord). Cliquez ensuite sur "Images" dans la barre de menu et choisissez "Redimensionner ...". Vous obtiendrez une fenêtre pour ouvrir un fichier, ouvrez le fichier DMG vide.Untitled
devrait apparaître. Renommez-le avec le nom que vous voulez (vous voudrez probablement lui donner le même nom que votre programme).Ouvrez ce périphérique. Vous devriez voir quelque chose comme ça:
Si tout est blanc sauf le raccourci vers le dossier Applications, appuyez sur Cmd+J et une fenêtre sera ouverte. Au bas de cette fenêtre, il y a un carré avec l'étiquette "Drag image here". Cliquez sur cette case pour ouvrir une boîte de dialogue. Dans cette boîte de dialogue, appuyez sur Cmd+Shift+G et tapez /Volumes/(whatever you called the device in step 3)/.image
et sélectionnez image.png.
Tout ce qui se trouve ici, à l'exception du raccourci vers le dossier Applications, n'est qu'une image d'arrière-plan. Vous voudrez peut-être changer l'image d'arrière-plan (qui contient la couleur d'arrière-plan et la flèche). Pour ce faire, ouvrez le fichier /Volumes/(whatever you called the device in step 3)/.image/image.png
dans un éditeur d’image et modifiez-le comme vous le souhaitez. Ensuite, vous devrez peut-être démonter le périphérique et le remonter en ouvrant le fichier DMG pour voir les modifications. Selon ce que vous avez inséré dans l'image, vous devrez peut-être également déplacer le raccourci vers le dossier Applications pour l'adapter à la nouvelle image d'arrière-plan.
Faites glisser votre fichier .app au début de la flèche dans la fenêtre où le périphérique du fichier DMG est ouvert, de sorte qu'il se présente comme suit:
Vous pourriez avoir une erreur en disant qu'il n'y a pas assez d'espace libre. Si tel est le cas, revenez à l'étape 2 et redimensionnez le fichier DMG à une taille plus grande.
Démontez le périphérique en cliquant sur la flèche à côté du nom du périphérique dans le Finder:
Convertir le fichier DMG en lecture seule. Pour ce faire, ouvrez le terminal et tapez ceci (remplacez /path/to/dmg/file
Par le chemin du fichier DMG et nameOfDmgFile.dmg
Par le nom du fichier DMG):
cd /path/to/dmg/file
hdiutil convert -format UDZO -o newNameOfDmgFile.dmg nameOfDmgFile.dmg
Cela créera un nouveau fichier DMG appelé newNameOfDmgFile.dmg
(Ou tout autre nom que vous avez utilisé ci-dessus), qui est le fichier souhaité.
Vous pouvez utiliser Utilitaire de disque pour cela, mais si vous voulez une image en arrière-plan, vous avez besoin de directives avancées.
Tout d'abord, ouvrez Utilitaire de disque
Cliquez ensuite sur Fichier> Nouvelle image> Image vide.
Il vous demandera sa taille et son nom.
Après cela, vous pouvez y insérer des fichiers, et voilà!
REMARQUE: ceci a été testé sur Mac OS Mojave. Je ne sais pas pour les versions précédentes.