Nullified Construction

.nil?

アプリのインストールが面倒

OS X でのアプリのインストールが非常に面倒だ。最悪のパターンはディスクイメージ(.dmg)。

  1. ディスクイメージをダウンロード
  2. マウント(ブラウザによって自動マウントされない場合は)
  3. アプリをApplicationsフォルダにドラッグアンドドロップ
  4. ディスクイメージをイジェクト
  5. ディスクイメージファイルをゴミ箱へ移動
  6. ゴミ箱を空(必須では無いがゴミが入っていることに耐えられないので)

zipで圧縮されたアプリの場合もハードルが高い。

  1. zipファイルをダウンロード
  2. 解凍(ブラウザによって自動解凍されない場合は)
  3. アプリをApplicationsフォルダにドラッグアンドドロップ(Launchpadしか使ったことが無くて、Applicationsフォルダにアクセス出来ない人はここで詰まる)
  4. zipファイルをゴミ箱へ移動(ブラウザによって自動的に移動されていない場合は)
  5. ゴミ箱を空

ディスクイメージよりは良いが、非常に面倒。両方で共通の問題は、もしユーザがApplicationsフォルダについて知らない場合は完全に詰まる。ディスクイメージの場合、Applicationsフォルダへのエイリアスを作って置いておけば分かりやすいが、そもそもディスクイメージというコンセプト自体を知らないユーザはいくらでも居るので、イジェクトせずにそのまま放置するユーザも絶対いるはずだ。

Mac App Store を使えば上記の問題は解決できるが、ウェブで普通に配布する場合は自動インストールなどは出来ない。

Let’s Move!

なぜかあまりポピュラーでは無いのだが、LetsMove というライブラリを使えば、簡単に解決できる。LetsMoveを使うと、アプリが起動した際にApplicationsフォルダに入っていない場合、以下のようなダイアログを表示することが出来る。

LetsMoveダイアログ

ダイアログを見れば分かるように、アプリが自分でApplicationsフォルダに移動してくれる。僕みたいな面倒くさがり屋や、OS X 初心者には非常に優しい。もしApplicationsフォルダに普段アプリを置かない人は、チェックボックスをオンにすれば次からは表示されないので安心。

LetsMoveを使った場合、プロセスは少し簡単になる。

  1. zipファイルをダウンロード
  2. 解凍(ブラウザによって自動解凍されない場合は)
  3. 起動して、Applicationsフォルダに移動するボタンをクリック
  4. zipファイルをゴミ箱へ移動(ブラウザによって自動的に移動されていない場合は)
  5. ゴミ箱を空

zipで圧縮された場合と同じステップ数だが、Applicationsフォルダにアプリを手動で移動するよりかなり楽。

スクリーンショットではダイアログが英語で表示されているが、きちんと日本語にもローカライズされているので安心して使える。ちなみに、ライブラリを使うためには、必要なファイルを Xcode のプロジェクトに追加して、アプリケーションが起動したときに PFMoveToApplicationsFolderIfNecessary() を呼び出すだけ。簡単なので対応するアプリが増えると嬉しい。