Mac OS X 資料一覧

plistの構造

2008/1/18更新

対応バージョン: 10.5(Leopard)

plistのDTDは/System/Library/DTDs/PropertyList.dtdで定義されており、特定のサービスやアプリケーションに依存しない汎用的な構造を持つ。

基本的にキーに対する値の組み合わせで構成され、値はplistObjectとして定義され以下のような種類を持つ。

制御

dict

keyとplistObjectの組み合わせを内部に持つ

array

plistObjectの配列を内部に持つ

key

キー

(*) key自身もplistObjectに含まれる。

string

文字列

date

日付

integer

数値

real

浮動小数点データ

data

任意のデータ

true

真 (boolean)

false

偽 (boolean)

例)

<dict>
  <key>ID</key>
  <integer>123</integer>

  <key>user</key>
  <string>foo</string>

  <key>purpose</key>
  <array>
    <string>test</string>
    <string>live</string>
  </array>

  <key>activate</key>
  <true/>
</dict>

使用例

参考までに、いくつかのアプリケーションでの実際の使用例を見てみる。

iTunesのライブラリを管理する~/Music/iTunes/iTunes Music Library.xml

このplistでは楽曲毎に以下のような情報が管理されている。

<dict>
  <key>Track ID</key><integer>200</integer> ... トラックID
  <key>Name</key><string>Luck</string> ........ 楽曲名
  <key>Artist</key><string>You</string> ....... アーティスト
  :
  <key>Location</key> ......................... 楽曲ファイル
  <string>
    file://localhost/Users/foo/Music/iTunes/iTunes%20Music/You/ALL/Luck.m4p
  </string>
  :
</dict>

Safariのブックマークを管理する~/Library/Safari/Bookmarks.plist

このファイルはバイナリ形式なので、エディタ等で中身を見る場合は以下のようにXML形式に変換する。

% plutil -convert xml1 -o foo.xml Bookmarks.plist

関連資料・記事

このplistでは登録サイト毎に以下のような情報が管理されている。

<dict>
  <key>URIDictionary</key>
  <dict>
    <key></key> ............................ URL(keyは未使用)
    <string>http://www.apple.com/</string>
    <key>title</key> ....................... タイトル
    <string>Apple</string>
  </dict>
  <key>URLString</key>
  <string>http://www.apple.com/</string>
  <key>WebBookmarkType</key>
  <string>WebBookmarkTypeLeaf</string>
  <key>WebBookmarkUUID</key> ... ブックマーク内におけるこのサイトのユニークID
  <string>061A15C1-047C-4B1F-93AB-013E01B22C21</string>
</dict>