macOS Programming Tips/ja

From Free Pascal wiki
Revision as of 06:37, 18 December 2019 by Trev (talk | contribs) (Content from OS X Programming Tips/ja)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

Template:OS X Programming Tips

日本語版メニュー
メインページ - Lazarus Documentation日本語版 - 翻訳ノート - 日本語障害情報

Lazarus と Free Pascal のインストール

Lazarus と Free Pascal は Subversion (SVN) を用いてソースコードをダウンロード・アップデートし、それを用いてインストールすることができますが、単に Lazarus と Free Pascal を導入することだけが狙いなら、次に示す方法でディスクイメージ (*.dmg) によって導入することもできます。安定化バージョンは Source Forge にありますし、最新のもの(動作保証はありません)はスナップショットページから得られます。この場合、他の所に書かれている OS X 用のインストールガイドに従う必要はありません。

1.1. Apple Developer Tools がインストールされていることを確認してください。Free Pascal は Apple Developer Tools に含まれるツールの一部を利用します。OS X 10.3 では、OSとは別に Xcode Tools CD が用意されそこからインストールすることができますし、OS X 10.4 Tiger では OS のインストール DVD の中に Xcode Tools フォルダがあります。

Apple Developer Tools がインストールされているかどうかは、/Library/Receipts ディレクトリを見るとわかります。Apple Developer Tools がインストールされていれば、DeveloperTools.pkg という名前のファイルがあるはずです。Apple Developer Tools に含まれるツールを動かしてみる方法もあります。例えば ld をターミナルから実行してみてください。Apple Developer Tools がインストールされていれば、OS X のリンカの利用法が表示されるはずです。

Tip: Free Pascal を Xcode IDE から利用できるように、イントーラは gcc のパッケージを要求します。OS X 10.4 では gcc は Apple Developer Tools とは別に用意されているため、gcc4.0.pkg もインストールしておく必要があります。ディスク容量に余裕があれば、Xcode メタパッケージ (XcodeTools.mpkg) をインストールすれば結構です(訳注: Tiger のDVDに入っているのがこのメタパッケージです)

(訳者註 : 以下の内容は現在では古くなっています。2008年秋に公開されたステーブルヴァージョン 0.9.26 から、Mac OS X用の Lazarus は Carbon アプリになり、Carbon アプリを生成します。そのため、X11 と gtk はいまや必要がありません。fpc、fpcsrc、lazarus の三つの .dmg ファイル(名前は下記参照)をインストールするだけで動作します。Carbon ネイティブになったおかげで、画面表示が速くなり、ショートカットキーの操作などがマック流になりました。Lazarus が導入されるディレクトリは、以前の /usr/local/share/lazarus ではなく /Developer/lazarus/ に変更されました(OS Xを導入したディスクをクリックすると、Developerというディレクトリがあります。そこから辿って下さい)。アプリケーションフォルダにローンチャができますが、日本語版OS Xではうまく動作しないので、上記フォルダの lazarus をドックにドラッグ・ドロップしておくと便利です。以前から Lazarus を使っていて 0.9.26 にアップデートした場合、IDE から環境設定しないとコンパイル時にエラーが出ます。 Environment -> Environment options を出し、 Lazarus のディレクトリを /usr/local/share/lazarus/ から /Developer/lazarus/ に変更します。また、インストーラが「バージョンダウン」に対応しないため、新しいスナップショットを入れると元の0.9.26に戻せなくなります。その場合は、/Library/Receipts/ (OS Xを導入したディスクをクリックすると、「ライブラリ」というディレクトリがあります。そこから辿って下さい)にある lazarus.pkg というファイルを削除して下さい。以上、英語ページでも内容が更新されていないため、ここに特に注記します。)

1.2. X11 がインストールされていることを確認してください。OS X 10.3 では、OS 付属の Xcode Tools CD からインストールでき、OS X 10.4 では、インストール DVD の中にある Optional Installs をクリックするとインストーラが起動します。

X11 がインストールされていれば、「アプリケーション」内の「ユーティリティ」フォルダ (/Applications/Utilities) に X11 という名前のアプリケーション (*.app) があるはずです。

Tip: X11 をドックにドラッグ&ドロップしておけば、X11 window を一発起動することができます。

1.3. fink をダウンロードしてインストールします。OS X のバージョン(10.3 Pantherか10.4 Tigerか)によって、ダウンロードすべき fink のバージョンが異なりますので、正しい方をインストールしてください。次にインストールした fink を用いて、Lazarus が必要とする GTK 及び関連パッケージをダウンロード・インストールします。fink をインストールしたら、ターミナルから次のコマンドを一行で入力してください(訳注、管理者アカウントでなければなりません)。

 sudo /sw/bin/apt-get install gtk+ gdk-pixbuf

パスワードを入力するようにプロンプトが出ますので、自分のパスワードを入力すると GTK ライブラリのバイナリのダウンロードが始まります。ブロードバンド環境でない場合は、一時間くらいはかかるかもしれません。

重要: fink のバージョンが正しいことを確認してください。OS X(Panther か Tiger か)及びプロセッサ(PowerPC か Intel か)によって、適したバージョンは異なります。

メモ: Lazarus のインストール方法の中では、OS X は特例です。それは現在の所 Lazarus が X Window システムと Gimp Toolkit (GTK) のライブラリに依存しているのに、GTK のライブラリがデフォルトの状態では OS X には含まれないため、ユーザ自身がインストールしなければならないからです。将来的には X や GTK は不要になるかもしれませんが、とりあえず今の所はこういった面倒を我慢してください。ステップ 1.2 と 1.3 は Lazarus で開発された GUI アプリケーションを OS X 上で実行する場合にも必須です。

Tip: Free Pascal を用いて、ライブラリやコンソールアプリケーションを開発するだけなら、お好みのテキストエディタを用いてソースを書き、それをターミナルやスクリプト上でコンパイルすることもできます。この場合、Apple Developer Tools と Free Pascal をインストールすれば十分です。

1.4. 次の三つの .dmg ファイル をダウンロードしてインストールします。dmg ファイルは Source Forge または the Lazarus デイリースナップショットから得られます:

 fpc .dmg
 fpcsrc .dmg
 lazarus .dmg

(訳注: 上から Free Pascal 本体、Free Pascal ソース、Lazarus 本体です。名前は例えば 2007年5月15日のIntel Mac向けLazarusスナップショットなら lazarus-0.9.23-20070515-i386-macosx.dmg のようになります。)

インストールが終われば、これらのファイルは削除してもかまいません。

1.5. X11 ウィンドウで次のように入力して Lazarus を起動してみます:

 cd /usr/local/share/lazarus
 ./lazarus

Lazarus が「Free Pascal コンパイラが見つからない」と文句を言ってきたら、IDE の Environment | Environment options を出し、Comiler path に /usr/local/bin/ppcppc と入力してください。Intel Mac の場合は /usr/local/bin/ppc386 とします。

Tip: Lazarus をダブルクリックで起動したり、ドックにドロップしたりする方法については、下の方のアプリケーションバンドルの作成セクションを参照してください。

1.6. X11 tips.

  • X11 ウィンドウで次のようにタイプすると、マウスをクリックした時の動作が「らしく」なります(訳注: 初期状態では、最初のクリックではウィンドウが選択されるだけで、例えばボタンを押すにはもう一度クリックする必要があります):
 defaults write com.apple.x11 wm_click_through -bool true

一旦 X11 を終了して再起動すると有効になります。

  • X11 を終了するときに毎度毎度確認ダイアログが出ますが、うざいと思われる場合は次のようにタイプして X11 を再起動してください:
 defaults write com.apple.x11 no_quit_alert true
  • Lazarus を簡単に起動する方法に、X11 のメニューを利用するものがあります。X11 の「アプリケーション」|「メニューをカスタマイズ」を出し、「追加」をクリックして、「メニュー名」の下に Lazarus、コマンドの下に次の文字列を入力します:
 open -a /usr/local/share/lazarus/lazarus

「完了」をクリックしてウィンドウを閉じます。これで、「アプリケーション」|「Lazarus」を選択することで Lazarus を簡単に起動することができます。

1.7. Qt ウィジェットセットを Lazarus で利用することに興味があるなら、Qt interface framework をインストールします。OS Xでの利用法についての詳細は Qt Interface Mac のページをご覧ください。

Lazarus と Free Pascal のアンインストール

通常の OS X アプリケーションのアンインストールは、そのアプリケーションを「アプリケーション」フォルダからゴミ箱に移動すればそれですみますが、Lazarus と Free Pascal は開発ツールであり、ファインダでは通常表示されないいくつかのフォルダにインストールされます。

Lazarus 及び Free Pascal をアンインストールする必要がある場合は、下記のコマンドを uninstallLaz.sh という名前のファイルとしてコピー・保存して実行してください。Lazarus 及び Free Pascal は、古いバージョンの上から新しいバージョンを上書きインストールすることができます。ですが、新しいバージョンをインストールする前に、古い方をきれいさっぱり消しておくのも悪い考えではありません。また、このリストにあるコマンドを見れば、Lazarus 及び Free Pascal のさまざまな部分がどこにインストールされるかが判るでしょう。

bin=/usr/local/bin
share=/usr/local/share
lib=/usr/local/lib
receipts=/Library/Receipts

rm -fv $bin/ppcppc
rm -fv $bin/bin2obj
rm -fv $bin/data2inc
rm -fv $bin/delp
rm -fv $bin/fd2pascal
rm -fv $bin/fpc
rm -fv $bin/fpcmake
rm -fv $bin/fpcmkcfg
rm -fv $bin/fpcsubst
rm -fv $bin/fpdoc
rm -fv $bin/fprcp
rm -fv $bin/h2pas
rm -fv $bin/h2paspp
rm -fv $bin/makeskel
rm -fv $bin/mkxmlrpc
rm -fv $bin/plex
rm -fv $bin/postw32
rm -fv $bin/ppdep
rm -fv $bin/ppudump
rm -fv $bin/ppufiles
rm -fv $bin/ppumove
rm -fv $bin/ptop
rm -fv $bin/pyacc
rm -fv $bin/rstconv
rm -fv $bin/unitdiff

rm -r $share/lazarus
rm -r $share/fpcsrc
rm -r $share/doc/fpc-2.1.1
rm -r $share/examples/fpc-2.1.1

rm -r $lib/fpc

rm -r $receipts/lazarus-*.pkg
rm -r $receipts/fpcsrc-*.pkg
rm -r $receipts/fpc-*.pkg

ここでは、Free Pascal 2.1.1版のスナップショットがインストールされていると仮定しています。違うバージョンをインストールしている場合は、関連する二つのコマンド(訳注: rm -r $share/doc/fpc-2.1.1 と rm -r $share/examples/fpc-2.1.1)を適当なものに書き換えてください。

このスクリプトを実行するには、スクリプトファイルを保存したディレクトリに移り、次のようにタイプします(管理者アカウントが必要です):

 chmod +x uninstallLaz.sh
 sudo ./uninstallLaz.sh

プロンプトに対し、自分のパスワードを入力します。

メモ: Lazarus はまた、「.lazarus」フォルダをユーザのホームディレクトリに作成し、環境設定や、最近開いたプロジェクトやファイルを保存します。新しくインストールする Lazarus に環境を引き継ぎたいなら、このフォルダはそのままにしておきます。OS X は通常、ドット (.) で始まる名前を持つファイルやフォルダを表示しません。このフォルダや中身を見るには、ターミナルで次のようにタイプします:

 cd ~/
 ls -al
 cd .lazarus
 ls

(訳注: cdはディレクトリを移動するコマンド。最初のコマンドでホームディレクトリに移動し、ls(ディレクトリを表示するコマンド)に -al オプションをつけて、ドット付きファイルも表示対象にしています。このページの最後の方に簡単なUNIXコマンドの説明がありますのでご覧ください。)

Lazarus LCL ウィジェットセットの選択

OS X 上の Lazarus では、三つのウィジェットセット widgetset から一つを選ぶことができます。それぞれに利点と欠点があります。二つは開発途上ですが OS X 上の Lazarus の将来を見通していくためには適しているでしょう。

GTK ウィジェットセット

利点 欠点
標準的な LCL コントロールがすべて動作 マックのものとは思えない、醜くえぐいコモンダイヤログ
現行の Lazarus は GTK を用いてコンパイルされているため、ウィジェットセットもよく検査されている X11 や山のような GTK をインストールしないと、Lazarus も Lazarus で作成した GUI アプリも走らない
Lazarus の起動をコマンドラインから行う必要がある -- ダブルクリックでは起動しないし、ドックにもおけない(作成した GUI アプリも同様) -- これを実現したい人は次項参照

Qt ウィジェットセット (Qt Interface Mac参照)

利点 欠点
OS X ネイティブのルック&フィール まだ動作しない LCL コントロールがある
他のプラットフォームにもQt ウィジェットセットは移植されている 現在の所 LCL を別にコンパイルし、Lazarus に「それがどこか」教える必要がある
Qt ウィジェットセットを開発すると、他の複数のプラットフォームにも利益を齎す アプリを走らすのに、Qt インタフェースフレームワークが必要
Qt インタフェースは高機能 オープンソースの場合を除き、商用ライセンスが高額
他のウィジェットセットに比べ開発が容易

Carbon ウィジェットセット (Carbon Interface参照)

利点 欠点
OS X 標準の Carbon フレームワークを用いるので、新たなライブラリやフレームワークを必要としない まだ動作しない LCL コントロールがある。完成はLazarus 1.0以降になる予定
OS X ネイティブのルック&フィール OS X専用に近い

GTK アプリケーション(Lazarus自体を含む)からのアプリケーションバンドル作成

OS Xで、実行ファイルをダブルクリックで起動できるようにしたり、ドックにドロップすることができるようにしたりするには、アプリケーションバンドルを作成する必要があります。アプリケーションバンドル (app bundle) は実際には特殊なフォルダです。実行ファイルと同じ名前で、「.app」という拡張子がついています。ファインダはこの拡張子を表示しませんが、ターミナルで ls コマンドを用いると見ることができます。

Carbon 及び Qt ウィジェットセットを用いた場合のアプリケーションバンドル作製法はそれぞれのページに述べられています。動作させるには X11 を起動する必要のある GTK アプリケーションでは若干やっかいです。下記のスクリプトをコピペして、create_gtk_app.sh という名前のファイルを作り、chmod +x コマンドを用いて、そのファイルを実行可能な状態にしてください。そうすると create_gtk_app.sh を次のように実行してアプリケーションバンドルを作成することができるようになります(execfile の部分はバンドルを作成しようとする GUI アプリケーションの名前に置き換えてください):

 ./create_gtk_app.sh execfile

このスクリプトは Lazarus そのものをアプリケーションバンドルにするためにも用いることができます(Lazarus も GTK アプリケーションですから)。バンドルを作成したいディレクトリ(たとえば「アプリーケション」フォルダ /Applications)に移動し、次のスクリプトを走らせます:

 [path_to_script]/create_gtk_app.sh lazarus

できあがった Lazarus.app は他のアプリケーションと同様にドックに置くことができます。

詳細については、スクリプトをよく読んでください。

Tip: 下のスクリプトには、極めて長い行が一つあります。このページを印刷するとき、その行がはみ出してしまうかもしません。次に、問題の行を二行に分けて書いておきます。スクリプトファイルでは、これが正しく一行になっていることを確認してください。

 echo '<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" 
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">' >>$plistfile
#!/bin/sh
# Force Bourne shell in case tcsh is default.
#
appname=$1
appfolder=$appname.app
macosfolder=$appfolder/Contents/MacOS
plistfile=$appfolder/Contents/Info.plist
if [ $appname = "lazarus" ]
then
  appfile=/usr/local/share/lazarus/lazarus
else
  appfile=$appname
fi
#
if [ "$appname" = "" ]
then
  echo "Usage: $0 executable_file"
  echo "Creates .app bundle (folder) for executable file that uses GTK widgetset"
elif ! [ -e $appfile ]
then
  echo "$appfile does not exist"
elif [ -e $appfolder ]
then
  echo "$appfolder already exists"
else
  echo "Creating $appfolder..."
  mkdir $appfolder
  mkdir $appfolder/Contents
  mkdir $appfolder/Contents/MacOS
  mkdir $appfolder/Contents/Resources
#
  if [ $appname = "lazarus" ]
  then
# This is special case for lazarus IDE.
# Create a script file in .app folder that starts X11, then Lazarus.
    echo '#!/bin/sh' >$macosfolder/$appname.sh
    echo '# This script starts X11, then Lazarus.' >>$macosfolder/$appname.sh
    echo 'open -a x11' >>$macosfolder/$appname.sh
    echo "export DISPLAY=':0.0'" >>$macosfolder/$appname.sh
    echo 'open -a '$appfile >>$macosfolder/$appname.sh                #IMPORTANT! If you're running TCSH, or other,
    chmod +x $macosfolder/$appname.sh                                 # "open -a" doesn't work. Use "open" instead
  else
# Instead of copying executable into .app folder after each compile,
# simply create a symbolic link to executable.
    ln -s ../../../$appname $macosfolder/$appname
# Create a little script file in .app folder that opens executable with X11.
    echo '#!/bin/sh' >$macosfolder/$appname.sh
    echo '# This script opens the executable file with X11.' >>$macosfolder/$appname.sh
    echo 'open ${0/%.sh}' >>$macosfolder/$appname.sh
    chmod +x $macosfolder/$appname.sh
  fi
#
# Create PkgInfo file.
  echo "APPL????" >$appfolder/Contents/PkgInfo
#
# Create information property list file (Info.plist).
  echo '<?xml version="1.0" encoding="UTF-8"?>' >$plistfile
  echo '<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">' >>$plistfile
  echo '<plist version="1.0">' >>$plistfile
  echo '<dict>' >>$plistfile
  echo '  <key>CFBundleDevelopmentRegion</key>' >>$plistfile
  echo '  <string>English</string>' >>$plistfile
  echo '  <key>CFBundleExecutable</key>' >>$plistfile
  echo '  <string>'$appname'.sh</string>' >>$plistfile
  echo '  <key>CFBundleInfoDictionaryVersion</key>' >>$plistfile
  echo '  <string>6.0</string>' >>$plistfile
  echo '  <key>CFBundlePackageType</key>' >>$plistfile
  echo '  <string>APPL</string>' >>$plistfile
  echo '  <key>CFBundleSignature</key>' >>$plistfile
  echo '  <string>????</string>' >>$plistfile
  echo '  <key>CFBundleVersion</key>' >>$plistfile
  echo '  <string>1.0</string>' >>$plistfile
  echo '  <key>CSResourcesFileMapped</key>' >>$plistfile
  echo '  <true/>' >>$plistfile
  echo '</dict>' >>$plistfile
  echo '</plist>' >>$plistfile
fi

Mac OS X 10.5 で 10.4及びそれ以前のOS X用にコンパイルする方法

特にオプションを指定しないと、Mac OS Xでは、コンパイルされたアプリケーションは同じメジャーバージョンの上でしか動作を保証されません(例えば、Mac OS X 10.5.6でコンパイルすると、できたアプリケーションはMac OS X 10.5.xの上でしか動く保証がありません)。

次は、Mac OS X 10.5 でwidestring managerを使うアプリケーションをコンパイルし、それをMac OS X 10.4 で実行する際表示される可能性のあるエラーメッセージの例です。

dyld: Library not loaded: /usr/lib/libiconv.2.dylib
  Referenced from: /Volumes/..../yourprogram
  Reason: Incompatible library version: your program requires version 7.0.0 or later, but libiconv.2.dylib provides version 5.0.0
Trace/BPT trap

(訳注: 「あなたのプログラムは 7.0.0版の libiconv.2.dylib を要求しているが、実際にあるのは5.0.0版である」)

古い Mac OS X でも確実に動作するようにするには、リンカパラメタの -macosx_version_min を用いると同時に然るべき SDK とリンクする必要があります(例えば、 -XR/Developer/SDKs/MacOSX10.4u.sdk/)。Mac OS X 10.4 以降で動作するアプリケーションをコンパイルするには、例えば次のようにします:

Project / Compiler options / Other / Custom options にこう加えます:

-k-macosx_version_min -k10.4
-XR/Developer/SDKs/MacOSX10.4u.sdk/

注: パスの /Developer は、Apple developer tools がどこにインストールされているかにより、読者のマックでは異なることがあり得ます。「ここは絶対 '/Developer' にするんだ」と決めつけないで下さい。

自作アプリケーションバンドルにアイコンを貼る方法

5.1 OS X の Icon Composer (訳注: /Developer/Applications/Utilities にあります)などのプログラムを持いて自作アプリケーションのアイコンファイル(拡張子は .icns)を作ります。

5.2 アイコンファイルをアプリケーションバンドルの Resources フォルダにコピーします。例えばコマンドラインで、次のようにタイプします:

 cp -p myapp.icns myapp.app/contents/resources

5.3 アプリケーションバンドルの Info.plist ファイルに、次のキーを追加します:

 <key>CFBundleIconFile</key>
 <string>myapp.icns</string>

5.4 こうやってもアイコンが更新されない場合は、ファインダを「リフレッシュ」して、新しいアイコンを表示させる方法を試してみましょう:

  • 一旦ログアウトして、再度ログインする。
  • 問題のアプリケーションを一旦他のフォルダに移動し、また元に戻す。
  • ファインダの再起動(Esc-Option-Apple を押す)

自作アプリケーションを他のマックにインストールする場合はこの問題はおきないはずです。ファインダが問題を起こすのは、そのアプリケーションのアイコンを作成時のものから変更しようとする場合だけです。

ネットから得られる便利なツール

TextWrangler

プログラマなら誰しも良いテキストエディタを必要とするものです。ですが、OS Xのテキストエディットはそうではありません。代わりに TextWrangler をダウンロードしてインストールしましょう。TextWrangler はフリーウェアで、Pascal やスクリプトファイルの文法ハイライト機能を持ったテキストエディタです。

優秀なエディタとしては、他にも AlphaX、BBedit があり、OS Xの Xcode IDE もエディタとして使えます。

Sogudi

OS Xのマニュアルページ (man) は UNIX もろだしで、絶望的に使いづらいものです。Sogudi は OS X の Safari 用の小さなアドオンです。インストールすると、Safari の URL 入力欄に "man:<マニュアルを読みたいコマンド名>" とタイプすることができるようになります。例えば、grep コマンドのマニュアルは次のようにタイプすると表示されます:

 man:grep

ウェブのページと同様、マニュアルの内容をスクロールして読むことや、印刷することや、検索することができます。

NeoOffice

NeoOffice は OS X 版の OpenOffice.org で、見かけも動作も OS X アプリそのものです。これを一度使ってしまうと、もう X11 上の OpenOffice には戻れないでしょう。

(訳注: マック用のOpenOfficeはX11アプリです。NeoOfficeはOpenOfficeのUI部分をJavaで書き直したものです。従ってAquaのルック&フィールが得られるだけではなく、日本語入力の問題がありません)

Unix and Open Source downloads

アップルは多くのフリーアプリを提供しています。多くのものはUNIXからの移植で、X11上で走ります。大いなる Gimp が一例です。

Onyx

Onyx は便利な OS X のメンテナンスツールです。

Cyberduck

OS X用 FTP クライアントをお探しですか? Cyberduck はOS Xのために特に開発されたオープンソースの FTP クライアントです。

OS X に含まれる便利なコマンドとツール

open

コマンドラインからアプリケーションを起動したり、ファイルを開けたりします。アプリケーションを起動しファイルを開く際、ディレクトリをわざわざ指定しなくてすむため便利です。例えばカレントディレクトリの Pascal ファイルを TextWrangler で開くには、次のように入力します:

 open –a textwrangler myfile.pas

zip / unzip

Xcode toolsをインストールすると標準でコマンドラインアプリケーションとしてインストールされます。

Console

/Applications/Utilities (日本語では「アプリケーション」→「ユーティリティ」)フォルダからドックにドラッグ&ドロップして、手元においておきましょう。これを起動すると、例えばクラッシュの際 GUI アプリがコンソールに吐いたエラーやメッセージを見ることができます。デバグに当たっては欠くべからざるツールです。

Activity Monitor

このアプリも /Applications/Utilities にあります。CPU とディスクの利用状況をモニタするのに便利です。

otool / install_name_tool

otool を使うと、実行ファイルやライブラリの情報を見ることができます。例えば、Lazarus について知りたければ、次のようにします:

 cd /usr/local/share/lazarus
 otool –L lazarus

想像のとおり、Lazarus が /sw/lib、/usr/X11R6/lib、/usr/lib に含まれる多くのライブラリに依存していることがわかるでしょう。

install_name_tool を -change スイッチと共に使うと、ライブラリのインストール名を実行ファイルやライブラリの要求に合わせて変更することができます。

Grab

/Applications/Utilities フォルダの Grab を用いると、スクリーンショットやウィンドウショットが得られます。ファイルにも保存することができます。

Icon Composer

/Developer/Applications/Utilities フォルダの Icon Composer を用いると、アイコンファイル (.icns) を作成することができ、このファイルは自作のアプリケーションバンドルで用いることができます。

PackageMaker / Disk Utility

自作のアプリを公開する際、ディスクイメージ (.dmg) ファイルを作成するのに用います。詳細は Deploying Your Application 参照。

PackageMaker は /Developer/Applications/Utilities フォルダにあります。Disk Utility は /Applications/Utilities フォルダにあります。ドックにドラッグ&ドロップしておくことができます。

Script Editor / osascript

Script Editor を使うと、アップルスクリプト AppleScript のファイルを編集、コンパイル、実行することができます。/Applications/AppleScript フォルダにあります。

osascript を使うと、コマンドラインやスクリプトファイルからアップルスクリプトのコマンドやファイルを実行することができます。詳細はmanでご覧ください。上記 Sogudi がインストールしてあれば、man:osascript で見られます。

常用されるUNIXコマンド

Windows から OS X にやってきた利用者は、UNIX のコマンドに戸惑いがちです。そこでここに対照表を用意しました。コマンドについての詳細な情報は man コマンドで見られます。上記 Sogudi をインストールしてあれば、Safari にman:command と入力すれば見られます。

動作 Windowsのコマンドプロンプト OS X ターミナル、X11
他のディレクトリへの移動 cd cd
新しいディレクトリの作成 mkdir mkdir
ディレクトリの削除 rmdir rmdir
ディレクトリ内のファイルを時間順で詳細表示 dir /od ls -ltr
タイムスタンプを維持したファイルの複製 copy cp -p
テクストファイルの内容表示 type cat
ファイルの削除 erase rm
ファイルの移動 move mv
ファイル名変更 ren mv
ファイル検索 dir /s find
ファイル内文字列検索 findstr grep
2テクストファイル間の相違を表示する fc diff
ファイル属性の変更 attrib chmod
スーパーユーザ・ルートとして作業 (無し) sudo
シンボリックリンクの作成 (無し) ln
実行ファイルのスリム化 strip(Free Pascalに含まれる) strip

Links

Apple developer documents

Coming to OS X from Unix or Linux?

Coming to OS X from Windows and want to learn Unix scripting?

Coming to Object Pascal from C++, C# or Java?