Help us understand the problem. What is going on with this article?

[Mac]自作アプリの配布用ディスクイメージの作り方

More than 1 year has passed since last update.

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のアイコンが出来上がっています。

Screen Shot 2017-12-29 at 3.31.39 PM.png

インストールしてみる

MyApp.dmgをダブルクリックすると、ディスクイメージがマウントされ、インストール画面になります。

Screen Shot 2017-12-29 at 3.33.21 PM.png

アプリのアイコンをApplicationsにドラッグ&ドロップして完了です。

Electronアプリの配布

Electronで作ったアプリの配布イメージも作ってみました。次のアプリを例にやってみます。

https://github.com/bradtraversy/electronshoppinglist

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

インストーラを起動してみたところ、アイコンがすでに正しくセットされています。
Screen Shot 2017-12-29 at 3.51.51 PM.png

アプリの作成も配布も従来の方法よりかなり手軽になりますね!

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away