2012-07-07 79 views

回答

1
  1. 將plist文件讀入NSDictionary[Docs]
  2. 製作一個mutableCopy可以得到一本可以使用的字典。
  3. 刪除您想刪除的項目
  4. 將字典寫回磁盤。 [Docs]
-1

桑達是這是一個非常糟糕的工具。請嘗試PlistBuddy,如果它存在於iOS上(它確實存在於MacOS上...);它被稱爲/ usr/libexec/PlistBuddy,並允許您操作plist文件。

語法有點奇怪,但「條目」似乎是這樣解決的:你從plist文件的頂部開始;如果它是一個數組,則指定要解析的元素的索引,如果它是字典,則指定要轉到的鍵名稱。用冒號分隔這些規格。如果有空格,就把「」放在整個事物的周圍。

我的示例文件是這樣的:

[email protected]:~> cat foo.plist 
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> 

<plist version="1.0"> 
    <array> 
    <dict> 
     <key>Sample 1</key> 
     <array> 
     <string>Sample String 1</string> 
     <dict> 
      <key>Sample 2</key> 
      <string>Sample String 2</string> 
     </dict> 
     </array> 
    </dict> 
    </array> 

一個簡單的會話:

[email protected]:~> /usr/libexec/PlistBuddy foo.plist 
Command: print 
Array { 
    Dict { 
     Sample 1 = Array { 
      Sample String 1 
      Dict { 
       Sample 2 = Sample String 2 
      } 
     } 
    } 
} 

Command: print "0:Sample 1:1" 
Dict { 
    Sample 2 = Sample String 2 
} 

Command: delete "0:Sample 1:1" 
Command: print 
Array { 
    Dict { 
     Sample 1 = Array { 
      Sample String 1 
     } 
    } 
} 

你可以在命令行上的命令,以及,或通過這裏的文件。互動只是更容易玩弄:-)

+0

plist buddy不適用於iOS – coneybeare 2012-07-07 13:04:23

相關問題