2012年10月22日

plistのフォーマットを変換する/バイナリ形式←→XML形式


Property List (.plist)はMac OS X/iOSでよく使われる設定ファイルのフォーマットだが、そのファイルフォーマットにはいくつか種類がある。古いテキスト形式、XML形式、バイナリ形式が代表的なものだが、古いテキスト形式はNeXTSTEP由来のもので最近ではあまり見ない。主にXML形式かバイナリ形式だ。

iOSプログラマはInfo.plistなどをXcode上ではXML形式で編集し、ビルドしてアプリケーションバンドル内にはバイナリ形式に変換しているのでこの二つの形式はよく見るだろう。
InfoplistEx.png

Macの設定ファイルもかつてはXML形式で保存されていたのだが、Mountain Lionではバイナリ形式のようだ。Xcodeを使えばいずれの形式でも編集できるのだが、内容を検索したり比較するなどテキストファイルのほうが都合がいいことが多い。

そこでバイナリ形式のplistファイルをXML形式のplistファイルに変換する方法を述べる。

いずれの方法でもオリジナルのファイルをコピーしたコピーファイルで作業をすることをオススメする。

Xcodeを使う



Xcodeは様々な形式のplistファイルを編集することができる。Xcodeでファイルを開いて、別名保存(Mountain Lionでは複製)するとファイルフォーマットを選択できるので、ここでバイナリ形式なら「Property List Binary」をXML形式なら「Property List XML」を選べばよい。
plist_format.png

ターミナルコマンドを使う



plutilというコマンドが用意されているのでバッチ変換などを行う場合にはこちらがよいだろう。


$ which plutil
/usr/bin/plutil
$ plutil -convert xml1 filename.plist
$ plutil -convert binary1 filename.plist


XML形式に変換したい時には「xml1」、バイナリ形式に変換したい場合には「binary1」を使う。指定した入力ファイル自身を上書きするので注意すること。

出力ファイルを別にしたい場合には「-o」オプションで指定することも可能。
posted by 永遠製作所 at 02:58| 東京 ☀| Comment(0) | TrackBack(0) | Mac OS X | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/298475902
※ブログオーナーが承認したトラックバックのみ表示されます。
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック