Ne pas y aller. À long terme à un développeur Mac, je peux vous assurer, aucune solution n'est vraiment bien. J'ai essayé beaucoup de solutions, mais ils sont tous trop bien. Je pense que le problème c'est que Apple n'a pas vraiment de document de la méta format de données pour les données nécessaires.
Voici comment je le fais depuis longtemps, avec beaucoup de succès:
Créer un nouveau DMG, les droits en écriture(!), assez grande pour contenir le devrait binaire et les autres fichiers comme le fichier readme (sparse pourrait fonctionner).
Monter le DMG et lui donner une mise en page manuellement dans le Finder ou avec tous les outils qui vous convient pour cela (voir FileStorm lien en bas pour un bon outil). L'image de fond est généralement une image que nous avons mis dans un dossier caché (".quelque chose") sur le DMG. Placez une copie de votre application (n'importe quelle version, même périmés on va faire). Copier d'autres fichiers (alias, readme, etc.) vous voulez là encore, les anciennes versions fera l'amende juste. Assurez-vous que les icônes ont le droit de tailles et de positions (OIE, la mise en page du DMG de la façon dont vous voulez qu'il soit).
Démonter à nouveau le DMG, tous les paramètres doivent être sauvegardés.
-
Écrire un créer DMG script, qui fonctionne comme suit:
- Il copie le fichier DMG, de sorte que l'original n'est jamais touché à nouveau.
- Il monte la copie.
- Il remplace tous les fichiers avec la plus à jour (p. ex. dernière application après la construction). Vous pouvez simplement utiliser mv ou idem pour, que sur la ligne de commande. Remarque, quand vous remplacez un fichier comme ça, l'icône reste la même, la position reste la même, mais tout le fichier (ou le répertoire) contenu reste le même (au moins avec idem, à qui nous avons l'habitude d'utiliser pour cette tâche). Bien sûr, vous pouvez également remplacer l'image d'arrière-plan à un autre (assurez-vous qu'il a les mêmes dimensions).
- Après le remplacement des fichiers, le script de démonter le DMG copier à nouveau.
- Enfin appeler hdiutil pour convertir l'écriture, pour un comprimé (et pas accessible en écriture) DMG.
Cette méthode peut ne pas sembler optimale, mais croyez-moi, cela fonctionne très bien dans la pratique. Vous pouvez placer l'original DMG (DMG modèle), même sous contrôle de version (par exemple, SVN), donc si jamais vous accidentellement modifier/détruire, vous pouvez simplement revenir à une révision où il était encore en bon état. Vous pouvez ajouter la DMG modèle de votre projet Xcode, ensemble avec tous les autres fichiers qui appartiennent sur le DMG (readme, l'URL du fichier, image d'arrière-plan), le tout sous contrôle de version, puis de créer une cible (par exemple, cible externe nommé "Créer DMG") et exécutez le fichier DMG script ci-dessus et ajouter votre ancien cible principale comme dépendant de la cible. Vous pouvez accéder à des fichiers dans Xcode arbre à l'aide de ${SRCROOT} dans le script (qui est toujours la source de la racine de votre produit) et vous pouvez accéder à des produits de construction en utilisant ${BUILT_PRODUCTS_DIR} (c'est toujours le répertoire où Xcode crée les résultats de la compilation).
Résultat: en Fait, Xcode peut produire le DMG à la fin de la construction. Un DMG qui est prêt à sortir. Non seulement vous pouvez créer un relase DMG assez facile de cette façon, vous pouvez réellement le faire dans un processus automatisé (sur une tête serveur si vous le souhaitez), à l'aide de xcodebuild en ligne de commande automatisés (nightly builds par exemple).
Concernant la mise en page initiale du modèle, FileStorm est un bon outil pour le faire. Il est commercial, mais très puissant et facile à utiliser. La version normale est de moins de 20$, il est vraiment abordable. Peut-être que l'on peut automatiser FileStorm créer un DMG (par exemple, via AppleScript), jamais essayé, mais une fois que vous avez trouvé le modèle parfait de DMG, il est vraiment facile de le mettre à jour pour chaque version.