http://developer.apple.com/techpubs/macosx/AdditionalTechnologies/PreferencePanes/index.html
NSPreferencePaneクラスを使用する
PreferencePaneはCocoaアプリケーションでないといけない。
PreferencePaneは拡張子が.prefPaneのバンドル形式のパッケージ
initWithBundle
loadMainView
mainNibName
assignMainView
setMainview
mainViewDidLoad
willSelect
disSelect
CFBundleIdentifier
NSMainNibFile
NSPrefPaneIconFile
NSPrefPaneIconLabel
NSPrincipalClass
/System/Library/PreferencePanes
/Network/Library/PreferencePanes
/Library/PreferencePanes
~/Library/PreferencePanes
/Library/Application Support
CFStringRef appID, userName, hostName;
CFStringRef key = CFSTR("PrefKey");
CFPropertyListRef value;value = CFPreferencesCopyValue(key, appID, userName, hostName);
CFPreferencesSetValue(key, appID, userName, hostName);value = CFPreferencesCopyAppValue(key, appID);
CFPreferencesSetAppValue(key, value, appID);
Distributed Objects を使う
Distributed Notifications を使う
ProjectBuilderのPreferencePaneテンプレートを使うと簡単にできる
InterfaceBuilderを使ってユーザーインターフェースを構築する
ヘッダファイルを更新する
#import <CoreFoundation/CoreFoundation.h>
CFStringRef appID;
initWithBundle:メソッドの組み込み
スーバークラスを呼び出す
アプリケーション識別変数(appID)の初期化mainViewDidLoad:メソッドの組み込み
ユーザーインターフェース用部品の初期化
アクションメソッドの組み込み
didUnselectメソッドの組み込み
変更したデータをディスクに保存する
データの変更をNotificationで通知する