J'ai un script bash qui crée un fichier .dmg pour mon application node.js. Toutefois, l'icône du fichier .dmg qui apparaît dans le Finder est l'icône de disque standard. J'ai besoin que ce soit la même icône que l'application.comment programmer (de préférence bash) ajouter l'icône à dmg?
Je sais que je peux cmd+I
sur mon .app dans le Finder, copier l'icône, et cmd+I
sur mon fichier .dmg et coller. Mais je veux que mon processus de construction soit entièrement automatisé. Je préfère ne pas utiliser d'outil tiers pour cela, puisque la signature et la localisation du code fonctionnent déjà dans mon script bash.
J'ai essayé de copier mes icns comme .VolumeIcon.icns
dans la racine de mon dmg. Cela n'a aucun effet.
J'ai également essayé SetFile -a C "path/to/dmg/.VolumeIcon.icns"
. Cela n'a aucun effet non plus, et man SetFile
dit qu'il est de toute façon déprécié. Je construis sur macOS Sierra 10.12.6.
Depuis un simple copier-coller fonctionne, il doit y avoir un moyen de le faire par programmation! Mais comment???
Mise à jour
Cela fonctionne partiellement:
hdiutil create -srcfolder "my/build/dir" -fs HFS+ -fsargs "-c c=64,a=16,e=16" -format UDRW -volname MyAppName -ov -attach "my/output/dir/MyAppName.uncompressed.dmg"
SetFile -c icnC "/Volumes/MyAppName/.VolumeIcon.icns"
SetFile -a C "/Volumes/MyAppName"
Il n'associe pas l'icône avec le fichier .dmg lui-même, mais si je double-cliquez sur le fichier .dmg, la fenêtre du Finder est affiché a mon icône.
Le besoin principal, cependant, est pour le fichier .dmg lui-même. Lorsque quelqu'un télécharge mon fichier .dmg, j'ai besoin du fichier .dmg situé dans le dossier Téléchargements pour avoir mon icône au lieu de l'icône de disque standard. Comme mentionné ci-dessus, c'est facile manuellement, mais comment puis-je le faire à partir d'un script bash ou AppleScript?
Jetez un oeil ici: http://www.owsiak.org/?p=683 - Je parle d'un livre assez ancien, mais toujours très bon.Malheureusement, il est disponible via SafariBooksOnline - service payant. – mko
@mko J'ai trouvé des instructions pour l'image d'arrière-plan, mais pas pour définir l'icône affichée dans le Finder pour le fichier dmg lui-même. –