2010-11-18 3 views
2

誰かが普通のplistとbinary plistの違いと処理方法がどう違うのか教えてください。バイナリplistを処理するために余分なことはありますか?バイナリPlistを処理する

答えて

3

バイナリプレースメントリストは次のように人間が読めるXMLに格納されていません。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
     <key>SUFeedURL</key> 
     <string>http://www.hedgewars.org/download/appcast.xml</string> 
     <key>SUHasLaunchedBefore</key> 
     <true/> 
     <key>SULastCheckTime</key> 
     <date>2010-11-15T22:00:36Z</date> 
</dict> 
</plist> 

代わりに、彼らは下のファイルサイズで、その結果、Appleのプライベートメソッドを使用して保存されます。この例(Hedgewarsからの設定)は378バイトですが、バイナリ形式では162バイトです。

NSUserDefaultsなどの組み込みツールは、これらの形式を同じ意味で使用できます。 NSArray-arrayWithContentsOfFile:メソッドのような他のメソッドを使用する場合は、同様に動作する必要があります。

plutilアプリを使用することができます。このアプリは、Macにインストールされている場合は/usr/binになります。次に例を示します。

plutil -convert xml1 /path/to/your/plist.plist 

これは、指定されたパスのplistをXMLに変換します。有効な形式は(現在は)xml1binary1です。

Property List Programming Guideも必ず確認してください。

関連する問題