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

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

プロパティリスト

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

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

プロパティリスト(property list)は、macOS CocoaNeXTSTEPGNUstepなどで利用されるオブジェクトシリアライゼーションのためのファイルである。また、 .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 realintegertruefalse
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」の概要を参照ください。

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


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

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

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

   

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



プロパティ リストのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
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というライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS