-hは、指定した名前に一致するヘッダファイルをSDK内から検索し、Xcodeで開くオプションである。他のオプションと異なりファイルパスではなくヘッダ名を指定する点が特徴的である。Xcodeがインストールされている環境で使える。

参考: 【open】コマンドでファイル・ディレクトリを開く

-hで完全一致するヘッダ名を開く

.hまで含めた完全なファイル名を指定すると、該当するヘッダファイルがXcodeで直ちに開かれる。

$ open -h NSView.h

Xcodeが起動し、NSView.hというタイトルのウィンドウでファイルが開かれる。

-hで部分一致するヘッダ名を開く

.hを省略したり、複数のヘッダにマッチする文字列を指定すると、候補が一覧表示され、番号での選択を求められる。この選択はGUIのダイアログではなく、ターミナル上でのテキストベースの対話になる。

$ open -h NSView
NSView?
[0]	cancel
[1]	all

[2]	/Applications/Xcode.app/.../AppKit.framework/Headers/NSView.h
[3]	/Applications/Xcode.app/.../AppKit.framework/Headers/NSViewLayoutRegion.h
[4]	/Applications/Xcode.app/.../AppKit.framework/Headers/NSViewController.h

Which header(s) for "NSView"?

番号を入力してEnterを押すと、対応するヘッダがXcodeで開かれる。スクリプトから標準入力を渡せば自動選択できる。

$ echo "2" | open -h NSView

標準入力を渡さず実行した場合、入力待ちにはならず、キャンセル扱いとなって終了コードは1である。

-sでSDKを絞り込む

-s <SDK名>を付けると、検索対象のSDKを名前の一部で絞り込める。省略時は各プラットフォームで最も新しいバージョンのSDKが使われる。

$ open -h NSView -s MacOSX26

参考

open command - Open a file, folder or URL