dmgbuildというツールを使って、PythonやElectronなどで作成したアプリ(それ以外でも可)を配布するためのディスクイメージファイルの作成方法を紹介します。
Macの野良アプリはdmgという拡張子のディスクイメージファイルで配布するのが一般的です。通常dmgファイルを開くと中にアプリが入っていて、Applicationフォルダにコピーすることでインストールが完了します。dmgbuildはそのようなdmgファイルを作ることができます。
インストール
dmgbuild自体はPythonで書かれたツールです。次のようにしてインストールします。
pip install dmgbuild
設定
dmgbuildのソースにそのまま使えるサンプルがありますので、それを利用します。
wget https://raw.githubusercontent.com/al45tair/dmgbuild/master/examples/settings.py
settings.pyを編集すれば、ライセンスや、アイコンなどをカスタマイズすることができますが、取り急ぎデフォルトのまま使います。
実行
ここではこの記事にあるPythonのQt5アプリの配布ディスクを作ってみます。記事に従ってqt.app
作成後、次のコマンドを実行します。
dmgbuild -s settings.py -D app=qt.app "My Application" MyApp.dmg
ファインダーでみると見慣れたdmgのアイコンが出来上がっています。
インストールしてみる
MyApp.dmgをダブルクリックすると、ディスクイメージがマウントされ、インストール画面になります。
アプリのアイコンをApplicationsにドラッグ&ドロップして完了です。
Electronアプリの配布
Electronで作ったアプリの配布イメージも作ってみました。次のアプリを例にやってみます。
git clone https://github.com/bradtraversy/electronshoppinglist
cd electronshoppinglist
npm install
npm run package-mac
cd release-builds/shoppinglist-darwin-x64
wget https://raw.githubusercontent.com/al45tair/dmgbuild/master/examples/settings.py
dmgbuild -s settings.py -D app=shoppinglist.app "shopping list" shopping.dmg
インストーラを起動してみたところ、アイコンがすでに正しくセットされています。
アプリの作成も配布も従来の方法よりかなり手軽になりますね!