2
有人能让我知道正常plist和二进制plist之间的区别以及它们如何处理不同明智?有什么额外的我需要做处理二元plist?处理二进制Plist
有人能让我知道正常plist和二进制plist之间的区别以及它们如何处理不同明智?有什么额外的我需要做处理二元plist?处理二进制Plist
二进制的Plist没有存储在人类可读的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>
相反,他们使用苹果的私有方法存储的,从而降低了文件大小。该示例(来自Hedgewars的偏好)是378字节,但是二进制格式是162字节。
好消息是,内置工具(如NSUserDefaults
)可以互换使用这些格式。使用其他方法,如NSArray
的-arrayWithContentsOfFile:
方法,应该也适用。
要在两者之间进行转换,您可以使用plutil
应用程序,该应用程序在/usr/bin
中(如果安装在Mac上)。下面是一个示例:
plutil -convert xml1 /path/to/your/plist.plist
这会将给定路径上的plist转换为XML。有效格式是(现在)xml1
和binary1
。