gpt4 book ai didi

macos - 读取 plist

转载 作者:行者123 更新时间:2023-12-03 16:58:54 29 4
gpt4 key购买 nike

我正在尝试读取 ~/Library/Preferences/com.apple.mail.plist (在 Snow Leopard 上)以获取电子邮件地址和其他信息以进入“关于”对话框。我使用以下代码,这显然是错误的:

NSBundle* bundle;
bundle = [NSBundle mainBundle];
NSString *plistPath = [bundle pathForResource:@"~/Library/Preferences/com.apple.mail.plist" ofType:@"plist"];
NSDictionary *plistData = [NSDictionary dictionaryWithContentsOfFile:plistPath];
NSString *item = [plistData valueForKeyPath:@"MailAccounts.Item 2.AccountName"];


NSLog(@"Result = %@", item);

此外,我需要读取的值是 MailAcounts -> Item 2 -> AccountName 并且我不确定我是否正确执行此操作(由于 Item 2 键)。

我尝试阅读 Apple 的 plist 文件开发人员指南,但没有任何帮助。

如何读取 plist 并将值提取为 NSString?

谢谢。

最佳答案

第一级是一个数组,因此您需要使用"MailAccounts.AccountName"并将其视为NSArray*:

NSString *plistPath = [@"~/Library/Preferences/com.apple.mail.plist" stringByExpandingTildeInPath];
NSDictionary *plistData = [NSDictionary dictionaryWithContentsOfFile:plistPath];
NSArray *item = [plistData valueForKeyPath:@"MailAccounts.AccountName"];
NSLog(@"Account: %@", [item objectAtIndex:2]);

或者,您可以通过按键并首先使用 valueForKey:"MailAccounts" 中提取数组(这将产生 NSArray*),然后 objectAtIndex: 获取该特定帐户的字典(如果您需要的不仅仅是名称,这很有用)。

关于macos - 读取 plist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8660343/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com