我怎么能有每个 .plist 路径的完整列表(在 iPhone/iPad 内)?
在 iOS 模拟器中,我正在使用它:ls -l ~/Library/Preferences/com.apple.*.plist
我的目标是找到一个特定的键并读取首选项中的布尔值。因为我需要知道它是否启用。
它是 SDK 中缺少的东西,但存在于偏好中。
NSLog (@"%@", [[NSBundle mainBundle] pathsForResourcesOfType:@"plist" inDirectory:@"/"]);
该方法返回一个 NSArray。
您需要先创建 plist。您所要做的就是在需要时访问它。
NSArray *thePlist;
NSString *plist = [[NSBundle mainBundle] pathForResource: @"plistFileName" ofType: @"plist"];
thePlist = [[NSArray alloc] initWithContentsOfFile: plist];
谢谢 Daniel A. White、Jahm 和 Kedar!
我对此进行编码以总结每条评论:
额外添加一个示例来读取 UISupportedInterfaceOrientations 值。
NSLog(@"Preferences plists from apple (inside iPhone/iPad) are not accessible from code");
NSLog (@"Accessible plist paths : %@", [[NSBundle mainBundle] pathsForResourcesOfType:@"plist" inDirectory:@"/"]);
NSArray *pList = [[NSBundle mainBundle] pathsForResourcesOfType:@"plist" inDirectory:@"/"];
for (int i = 0; i < [pList count]; i ++)
{
NSString *plistPath = [pList objectAtIndex:i];
NSDictionary *plistDictionary = [NSDictionary dictionaryWithContentsOfFile:plistPath];
NSMutableArray *nameString = [plistDictionary objectForKey:@"UISupportedInterfaceOrientations"];
for (NSString *n in nameString)
{
NSLog(@"Supported Interface : %@",n);
}
}