Converti app in dmg

Converti APP in DMG

Crea un DMG compresso e drag-and-drop a partire da un macOS .app bundle su un Mac.

Crea file DMG online

Non sappiamo ancora leggere i file APP, quindi questa conversione non è disponibile. Se puoi esportare il tuo lavoro in uno di questi formati, ne ricaviamo un DMG:

Come convertire app in dmg file

Le applicazioni macOS vengono spesso distribuite come bundle .app, mentre i download utilizzano comunemente una singola immagine disco .dmg per il montaggio e l’installazione tramite trascinamento. Impacchettare un’app in questo modo semplifica la distribuzione senza modificare l’applicazione stessa.

Che cos’è il formato APP

Su macOS, “APP” indica normalmente un bundle applicativo .app. È una directory contenente l’eseguibile, le risorse, i metadati, i framework e le informazioni di firma del codice; Finder lo visualizza come un’unica applicazione. Xcode e altri strumenti di sviluppo creano questi bundle, che si trovano comunemente in /Applications, negli archivi ZIP o in directory di build come build/Release/.

Questa operazione consiste nell’impacchettamento, non nella conversione del codice. Il formato dell’eseguibile dell’applicazione, l’architettura della CPU, le risorse e i dati di firma rimangono invariati; il bundle viene inserito in un contenitore di immagine disco.

Che cos’è il formato DMG

DMG è il formato di immagine disco di Apple per macOS. L’apertura di un file .dmg lo monta come volume virtuale in Finder, dove l’utente può copiare un’applicazione in /Applications, aprire la documentazione o eseguire un package di installazione incluso.

Un DMG può contenere compressione, crittografia, checksum, un nome personalizzato del volume e impostazioni di visualizzazione di Finder. Un’immagine compressa e di sola lettura, generalmente creata con il formato UDZO, è la scelta normale per i download di applicazioni perché riduce le dimensioni del trasferimento e impedisce modifiche accidentali ai file distribuiti.

Come creare un DMG con hdiutil

Il comando hdiutil integrato di Apple è l’opzione più affidabile per build ripetibili. Esegui questi comandi in Terminal su un Mac, sostituendo MyApp con il nome effettivo dell’applicazione:

  1. Crea una directory temporanea di staging, copia il bundle con ditto e aggiungi un alias ad Applications:
staging=$(mktemp -d "${TMPDIR:-/tmp}/MyApp.XXXXXX")
ditto "/Applications/MyApp.app" "$staging/MyApp.app"
ln -s /Applications "$staging/Applications"
  1. Crea un DMG compresso sulla Scrivania:
hdiutil create \
  -volname "MyApp" \
  -srcfolder "$staging" \
  -format UDZO \
  -ov \
  "$HOME/Desktop/MyApp.dmg"
rm -rf "$staging"
  1. Apri MyApp.dmg, copia l’applicazione su un Mac di test e avviala. Dopo il test, smonta il volume montato con:
hdiutil detach "/Volumes/MyApp"

Il bundle sorgente può provenire da una directory di build invece che da /Applications. Copiarlo con ditto preserva i metadati del bundle applicativo in modo più affidabile rispetto a trattare il bundle come una normale raccolta di file.

Opzioni grafiche e di terze parti

Per una conversione occasionale, usa Utility Disco: seleziona File → New Image → Image from Folder, scegli una cartella di staging contenente il bundle .app e un alias facoltativo ad Applications, seleziona compressed come formato dell’immagine e salva con estensione .dmg.

DropDMG è una valida alternativa desktop per macOS in grado di automatizzare lo staging, il layout del volume, la compressione, la firma e i release ripetibili. Anche una semplice utility come App2Dmg può creare un’immagine per l’installazione tramite trascinamento, ma esamina il risultato e testa l’immagine montata prima della distribuzione. Gli strumenti nativi di macOS sono preferibili perché possono preservare i metadati del bundle e verificare il risultato.

I convertitori online non sono appropriati per i normali bundle .app. Il caricamento di un’applicazione espone il codice eseguibile e le risorse proprietarie, inoltre un servizio web potrebbe non preservare i symlink, gli attributi estesi, i permessi o i dati di firma. Usa uno strumento locale per Mac; le utility per Windows possono creare un contenitore, ma non possono verificare in modo affidabile l’avvio, la firma o la notarizzazione su macOS.

Limitazioni di compatibilità e firma

La creazione di un DMG non rende l’applicazione multipiattaforma e non ne modifica l’architettura. Un’applicazione esclusivamente Intel necessita ancora del supporto Intel o di Rosetta 2 sui dispositivi Apple silicon, un’applicazione esclusivamente Apple silicon necessita di un Mac compatibile e un’applicazione universale contiene entrambe le architetture. L’immagine inoltre non aggira i controlli di Gatekeeper, quarantena, firma del codice o notarizzazione.

Per la distribuzione pubblica, firma l’applicazione prima di creare l’immagine, quindi firma e sottoponi a notarizzazione il DMG finito. Non modificare l’applicazione dopo averla firmata. Un comando di verifica è:

codesign --verify --deep --strict --verbose=2 "/Applications/MyApp.app"

Usa un formato di immagine scrivibile solo quando gli utenti devono modificare file all’interno dell’immagine montata. Per un normale download di applicazione, UDZO è più piccolo e di sola lettura; testa l’applicazione copiata sulle versioni di macOS e sui tipi di processore che intendi supportare.