プロパティリストとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > プロパティリストの意味・解説 

プロパティリスト

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/12/06 13:34 UTC 版)

プロパティリスト
拡張子 .plist
MIMEタイプ application/x-plist
開発者 Apple および GNUstep、
かつては NeXT
種別 データシリアライゼーション

プロパティリスト(property list)は、macOS Cocoa・NeXTSTEP・GNUstepなどで利用されるオブジェクトシリアライゼーションのためのファイルである。また、 .plistという拡張子をもつので、plistファイルと呼ばれることが多い。

プロパティリストは NSPropertyListSerializationクラスによってパースされる。プロパティリストが含むことができるのは、Foundation または Core Foundation のオブジェクトのみである。プロパティリスト全体は配列(NSArray)または連想配列(NSDictionary)でなければならない。

実用では、ユーザーの設定を保存するのによく使われる。これはWindowsにおけるレジストリと似た使い方である。また、プロパティリストはバンドルの情報を格納するためにも用いられ、以前のMac OSではリソースフォークが近い用途に用いられていた。

表現形式

プロパティリストが表現するデータは抽象的なもので、永続化のためのファイルフォーマットは固定されてはいない。元々、NeXTSTEPではひとつのフォーマットが使われていたが、その後のGNUstepやmacOSのフレームワークで異なるフォーマットが誕生した。

NeXTSTEP

NeXTSTEPにおいては、プロパティリストは可読なフォーマットとして設計され、人間が手で編集し、プログラミング言語風の構文をもつASCIIテキストに直列化された。

文字列 (NSString) は、

"This is a plist string"

バイナリデータ (NSData) は16進表記で、

< 54637374 696D67 >

配列は、

( "one", "two", "three" )

連想配列は、

{
"key" = "value";
…
}

と表記する。

このオリジナルのプロパティリストには制限があり、NSValue(数値、真偽値など)のオブジェクトは表現できなかった。

GNUstep

GNUstep は NeXTSTEP のフォーマットを採用し、いくつかの拡張を施した。

  • NSValueをサポートした。<*INNN>(NNNが数値)のように表記する。
  • NSDate(時刻)をサポートした。<*DYYYY-MM-DD HH:MM:SS timezone>のように表記する。

GNUstep はまた、後述するmacOSのフォーマットも読み書きすることができる。(defaults)

  • GNUstep に付属するツールにplget[1]などがある。
$ cat com.example.app.plist | plget key
$ cat com.example.app.plist | plget key | plget key

のようにすることでplist内の階層化されたキーに対応する値が取得できる。

macOS

macOSはNeXTSTEPのフォーマットも扱うことができるが、Appleは別にふたつの新しいフォーマットを開発した。

Mac OS X 10.0では、NeXTSTEPのフォーマットは非推奨とされ、Appleが定義したDTD [2]を持つ、新しいXMLフォーマットが登場した。

しかし、XMLは空間効率に問題があるため、10.2で新しいバイナリフォーマットが登場した。これはv10.4以降のデフォルトのフォーマットとなった。

10.2以降で利用できるユーティリティ「plutil」を使うと、プロパティリストの文法チェックや、フォーマット間の変換が可能となる。

macOSのXMLフォーマットで使われるタグと、それに対応するFoundationのクラスを示す。ルート要素は<plist>である。また、GNUstepのフォーマットとは多少違いがある。

クラス名 XML要素
NSString string
NSNumber real、integer、true、false
NSDate date
NSData data
NSArray array
NSDictionary dict

dict要素の中身は

<dict>
<key>key</key>
<string>value</string>
</dict>

のように記述する。

脚注

  1. ^ http://manpages.ubuntu.com/manpages/intrepid/man1/pldes.1.html
  2. ^ https://www.apple.com/DTDs/PropertyList-1.0.dtd

外部リンク


プロパティリスト

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/11/09 19:49 UTC 版)

「launchd」の記事における「プロパティリスト」の解説

プロパティリスト (plist) はAppleがプログラムの設定に用いる形式である。launchdがフォルダを参照したときやlaunchctlを使ってジョブがサブミットされたとき、どのようにプログラムを実行するかが書かれたplistファイルを読む。 よく使われるキーを以下に示す。すべてが載ったリストは、launchd.plistについてのAppleによるマニュアルを参照。 キー説明必須かどうかLabel ジョブの名称。慣習により、ジョブの名称は.plist拡張子を除いたplistのファイル名とおなじ。 必須。 Program 実行ファイルへのパス。シンプルな起動に役立つ。 ProgramかProgramArgumentsのどちらか一つが必須。 ProgramArguments unixコマンドを表した文字列。はじめの文字列はふつう実行ファイルへのパスで、あとの文字列はオプションやパラメータを含む。 UserName ここで与えられたユーザでジョブを実行する。必ずしもそれをlaunchdにサブミットしたユーザでなくてもよい。 オプション。デフォルトではrootかカレントユーザ。 OnDemand 10.5では非推奨。ジョブを持続的に実行するかどうかを定義するブーリアンフラグ。 オプション。デフォルトではtrue。 RunAtLoad launchdにジョブがロードされたときすぐにタスクを起動するかどうかを定義するブーリアンフラグ。 オプション。デフォルトではfalse。 StartOnMount 新しいファイルシステムがマウントされたときにタスクを起動するかどうかを定義するブーリアンフラグ。 QueueDirectories 新しいファイルがないかディレクトリを監視する。開始するにはディレクトリは空でなければならない。また、QueueDirectoriesがふたたびタスクを起動するまえに空の状態にもどさなければならない。 オプション。 WatchPaths 変更がないかファイルかフォルダのパスを監視する。 StartInterval ジョブをくり返して実行するスケジュールにする。実行のあいだのウェイト秒数として指定される。 StartCalendarInterval ジョブスケジューリング。構文はcronと同様。 RootDirectory ジョブを実行するまえにこのディレクトリにchrootする。 WorkingDirectory ジョブを実行するまえにこのディレクトリにchdirする。 StandardInPath, StandardOutPath, StandardErrorPath 立ち上げたプロセスのための入出力ファイルを定義するキー。 LowPriorityIO ファイルシステムI/Oをするときタスクの優先度が低いことをカーネルにしらせる。 AbandonProcessGroup launchdによって立ち上げられたタスクが起動したサブプロセスを、タスクがおわったときにkillするかどうかを定義するブーリアンフラグ。短いタスクが長いサブタスクを起動するところで役立つが、ゾンビプロセスを生じるかもしれない。 オプション。デフォルトではfalse。

※この「プロパティリスト」の解説は、「launchd」の解説の一部です。
「プロパティリスト」を含む「launchd」の記事については、「launchd」の概要を参照ください。

ウィキペディア小見出し辞書の「プロパティリスト」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ。


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「プロパティリスト」の関連用語

プロパティリストのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



プロパティリストのページの著作権

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのプロパティリスト (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのlaunchd (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2026 GRAS Group, Inc.RSS