我正在为越狱手机开发一个应用程序。我是 Obj-c 的新手。我想要:
读取 /var/mobile/Library/Preferences [特别是 com.apple.assistant.plist] 中的 plist 文件(越狱,记得吗?)
更改键的字符串“主机名”。
保存 plist 文件。
然后我计划将代码放入 IBAction 并将其链接到 IB 中的按钮。
有谁知道如何实现这一目标?你可以发布它的代码吗?
我正在为越狱手机开发一个应用程序。我是 Obj-c 的新手。我想要:
读取 /var/mobile/Library/Preferences [特别是 com.apple.assistant.plist] 中的 plist 文件(越狱,记得吗?)
更改键的字符串“主机名”。
保存 plist 文件。
然后我计划将代码放入 IBAction 并将其链接到 IB 中的按钮。
有谁知道如何实现这一目标?你可以发布它的代码吗?
我假设您主要想知道如何读/写 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];
上面的代码应该适用于用户移动有权读写的任何路径。