Konversi APP menjadi DMG
Kemasi bundle macOS .app sebagai DMG drag-and-drop terkompresi di Mac.
Buat berkas DMG secara online
Kami belum bisa membaca berkas APP, jadi konversi ini belum tersedia. Jika Anda bisa mengekspor pekerjaan Anda ke salah satu format ini, kami akan mengubahnya menjadi DMG:
Bagaimana mengkonversi app ke dmg berkas
- Gambar disk
- Belum ada peringkat.
Aplikasi macOS sering didistribusikan sebagai bundle .app, sementara unduhan biasanya menggunakan satu disk image .dmg untuk mounting dan instalasi drag-and-drop. Mengemas aplikasi dengan cara ini membuat distribusi lebih sederhana tanpa mengubah aplikasi itu sendiri.
Apa itu format APP
Di macOS, “APP” biasanya berarti application bundle .app. Ini adalah direktori yang berisi executable, resource, metadata, framework, dan informasi code-signing; Finder menampilkannya sebagai satu aplikasi. Xcode dan development tools lainnya membuat bundle ini, yang biasanya muncul di /Applications, arsip ZIP, atau direktori build seperti build/Release/.
Operasi ini adalah packaging, bukan code conversion. Format executable, arsitektur CPU, resource, dan signing data aplikasi tetap tidak berubah; bundle ditempatkan di dalam container disk image.
Apa itu format DMG
DMG adalah format disk image milik Apple untuk macOS. Membuka .dmg akan me-mount-nya sebagai volume virtual di Finder, sehingga pengguna dapat menyalin aplikasi ke /Applications, membuka dokumentasi, atau menjalankan installer package yang disertakan.
DMG dapat berisi compression, encryption, checksum, nama volume kustom, dan pengaturan tampilan Finder. compressed, read-only image, yang biasanya dibuat dengan format UDZO, merupakan pilihan normal untuk unduhan aplikasi karena mengurangi ukuran transfer dan mencegah perubahan yang tidak disengaja pada file yang didistribusikan.
Cara membuat DMG dengan hdiutil
Command hdiutil bawaan Apple adalah opsi yang paling andal untuk build yang dapat diulang. Jalankan command ini di Terminal pada Mac, dengan mengganti MyApp menggunakan nama aplikasi yang sebenarnya:
- Buat direktori staging sementara, salin bundle dengan
ditto, dan tambahkan shortcut Applications:
staging=$(mktemp -d "${TMPDIR:-/tmp}/MyApp.XXXXXX")
ditto "/Applications/MyApp.app" "$staging/MyApp.app"
ln -s /Applications "$staging/Applications"
- Buat DMG terkompresi di Desktop:
hdiutil create \
-volname "MyApp" \
-srcfolder "$staging" \
-format UDZO \
-ov \
"$HOME/Desktop/MyApp.dmg"
rm -rf "$staging"
- Buka
MyApp.dmg, salin aplikasi ke Mac pengujian, lalu jalankan. Lepaskan volume yang telah di-mount setelah pengujian dengan:
hdiutil detach "/Volumes/MyApp"
Source bundle dapat berasal dari direktori build, bukan dari /Applications. Menyalinnya dengan ditto mempertahankan metadata application bundle dengan lebih andal dibandingkan memperlakukan bundle sebagai kumpulan file biasa.
Opsi grafis dan pihak ketiga
Untuk konversi sesekali, gunakan Disk Utility: pilih File → New Image → Image from Folder, pilih folder staging yang berisi bundle .app dan alias Applications opsional, pilih compressed sebagai format image, lalu simpan dengan ekstensi .dmg.
DropDMG adalah alternatif desktop macOS yang tepercaya dan dapat mengotomatiskan staging, layout volume, compression, signing, serta release yang dapat diulang. Utility sederhana seperti App2Dmg juga dapat membuat image drag-and-drop, tetapi periksa output-nya dan uji image yang telah di-mount sebelum distribusi. Native macOS tools lebih disarankan karena dapat mempertahankan metadata bundle dan memverifikasi hasilnya.
Online converters tidak sesuai untuk bundle .app biasa. Mengunggah aplikasi akan mengekspos executable code dan proprietary resources, dan web service mungkin tidak mempertahankan symlink, extended attributes, permissions, atau signing data. Gunakan local Mac tool; Windows utilities mungkin dapat membuat container, tetapi tidak dapat memvalidasi macOS launching, signing, atau notarization secara andal.
Keterbatasan kompatibilitas dan signing
Membuat DMG tidak menjadikan aplikasi cross-platform atau mengubah arsitekturnya. Aplikasi yang hanya mendukung Intel tetap memerlukan dukungan Intel atau Rosetta 2 pada Apple silicon, aplikasi yang hanya mendukung Apple silicon memerlukan Mac yang kompatibel, dan aplikasi universal berisi kedua arsitektur tersebut. Image juga tidak melewati pemeriksaan Gatekeeper, quarantine, code-signing, atau notarization.
Untuk distribusi publik, sign aplikasi sebelum membuat image, lalu sign dan notarize DMG yang telah selesai. Jangan mengubah aplikasi setelah menandatanganinya. Command verifikasi adalah:
codesign --verify --deep --strict --verbose=2 "/Applications/MyApp.app"
Gunakan format image writable hanya jika pengguna harus mengedit file di dalam image yang telah di-mount. Untuk unduhan aplikasi biasa, UDZO berukuran lebih kecil dan bersifat read-only; uji aplikasi yang disalin pada versi macOS dan jenis prosesor yang ingin Anda dukung.