2010-11-18 7 views
2

일반 plist와 이진 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> 

대신, 낮은 파일 크기의 결과로, 애플의 개인 방법을 사용하여 저장됩니다. 이 예 (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도 꼭 확인하십시오.