Takayama Fumihiko | Email: <tekezo@pqrs.org> | Google+

シェルスクリプトなどの CUI アプリケーションを Mac OS X 方式の .app にする方法

目次

シェルスクリプトをアプリケーションに変換

はじめに

単純にシェルスクリプトをアプリケーションにしたいだけならば Automator を使えば簡単に出来ます。

ただ、以下のような理由により Automator を使わずにアプリケーションを作りたい場合があります。

  • 完全に自動化した形でアプリケーションを作成したい
  • Mac OS X 以外の環境で作成したい

ここではその方法について記述します。

サンプルファイル

サンプルで Firefox の ProfileManager を開くアプリケーションを作ってみます。

完成品はコチラ FirefoxProfileManager.app.zip

[ Step1 ] アイコンを作る

128x128 でアイコンを作ります。形式は tiff で。

logo.png

これを tiff2icns でアイコンファイルに変換します。

% tiff2icns icon.tiff icon.icns

[ Step2 ] コマンドを用意する

Firefox の ProfileManager を開くコマンドを用意します。 以下の内容のファイルを core.sh として保存します。

#!/bin/sh

/Applications/Firefox.app/Contents/MacOS/firefox -ProfileManager &
exit 0

core.sh に実行属性を付けるのを忘れないように!!

% chmod 755 core.sh

[ Step3 ] Contents ディレクトリを作ってファイルを格納する

アイコンやコマンドを格納する Contents ディレクトリを作成します。 Contents の下には MacOS と Resources ディレクトリを作ります。

% mkdir Contents
% mkdir Contents/MacOS
% mkdir Contents/Resources

そうしたら MacOS の下にコマンド (core.sh) を、 Resources の下にアイコンを置きます。

% find Contents
Contents
Contents/MacOS
Contents/MacOS/core.sh
Contents/Resources
Contents/Resources/icon.icns

繰り返しになりますが core.sh に実行属性を忘れないようにしましょう。

% chmod 755 Contents/MacOS/core.sh

[ Step4 ] Info.plist を置く

Contents ディレクトリの直下に Info.plist というファイルを置きます。

Contents
Contents/Info.plist
Contents/MacOS
Contents/MacOS/core.sh
Contents/Resources
Contents/Resources/icon.icns

[ Step5 ] Contents ディレクトリを .app に格納する

最後に Contents ディレクトリを .app に格納します。

% mkdir FirefoxProfileManager.app
% mv Contents FirefoxProfileManager.app

ちなみに Finder で見たときアイコンがデフォルトのものになっていた場合は、一度再起動すれば直ります。

[ まとめ ]

このサンプルを落として、 core.sh と icon.icon を差し替えれば OK。

FirefoxProfileManager.app.zip

Date: 2007-07-13 19:34 (UTC)