2012-07-07 49 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

相关问题