编辑.plist文件

时间:2012-05-20 00:41:08

标签: objective-c ios plist jailbreak

我正在为越狱手机开发应用程序。我是Obj-c的新手。我想:

  1. 在/ var / mobile / Library / Preferences [特别是com.apple.assistant.plist]中读取一个plist文件(Jailbroken,还记得吗?)

  2. 更改密钥的字符串“Hostname”。

  3. 保存plist文件。

  4. 然后我计划将代码放入IBAction并将其链接到IB中的按钮。

    有谁知道如何实现这一目标?你可以为它发布代码吗?

1 个答案:

答案 0 :(得分:3)

我认为你主要想知道如何读/写plist。这是一个这样做的例子:

NSString* filename = @"/var/mobile/Library/Preferences/com.apple.assistant.plist";
NSMutableDictionary* prefs = [[NSMutableDictionary alloc] initWithContentsOfFile: filename];
NSString* hostnamePref = (NSString*)[prefs valueForKey: @"Hostname"];
NSLog(@"current hostname is %@", hostnamePref);

[prefs setValue: @"Some New Value Here" forKey: @"Hostname"];

[prefs writeToFile: filename atomically: YES];
[prefs release];  // not needed if you use Automatic Reference Counting in your project

编辑:如果您的词典(plist)实际上是词典词典,您可以使用以下内容:

NSMutableDictionary* prefs = [[NSMutableDictionary alloc] initWithContentsOfFile: filename];
NSString* nestedKeyname = @"124-37HGSH-CF12-67TY";
NSMutableDictionary* nestedPrefs = (NSMutableDictionary*)[prefs valueForKey: nestedKeyname];
NSString* hostnamePref = (NSString*)[nestedPrefs valueForKey: @"Hostname"];
NSLog(@"current hostname is %@", hostnamePref);

[nestedPrefs setValue: @"Some New Value Here" forKey: @"Hostname"];
[prefs setValue: nestedPrefs forKey: nestedKeyname];

上述代码适用于移动用户有权读取和写入的任何路径。