无法从mainbundle读取plist

时间:2013-07-10 13:50:28

标签: iphone ios xcode ipad plist

我有一些奇怪的问题。

我无法从应用程序mainbundle中读取plist文件

该文件位于“复制包资源”

但不知何故无法阅读

这是代码

NSLog(@"%@",[[NSBundle mainBundle] pathForResource:@"8chk" ofType:@"plist"]);

它一直打印(null)

这是截图

enter image description here

谁能告诉我发生了什么事?

5 个答案:

答案 0 :(得分:2)

我不敢这么说,你没有将这个8chk.plist添加到目标中。

答案 1 :(得分:2)

在项目中再次拖放plist文件,确保勾选复选框,同时将文件添加到项目中,即“在ProjectName中复制文件”

然后使用此代码使其可访问并从plist中读取值

NSString *path = [[NSBundle mainBundle] pathForResource: @"YourPLIST" ofType: @"plist"]; 
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile: path];
[id obj = [dict objectForKey: @"YourKey"]; 

OR

// Reads the value of the custom key you added to the Info.plist
NSString *value = [mainBundle objectForInfoDictionaryKey:@"key"];

//Log the value
NSLog(@"Value = %@", value);

答案 2 :(得分:1)

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"Info.plist"];

这可能有用。确保将plist复制到目标并将其放在根目录中。此外,您可以尝试将plist文件放在应用程序默认plist的位置。

:)

答案 3 :(得分:0)

Hi Shoeb Amin请检查您的plist文件是否在Target-> Copy Bundle资源中添加

答案 4 :(得分:0)

你的道路是错的。如果项目导航器显示正确的树,copy bundle resource应该只读8chk.plist,而不是8chk.plist ..in resources/8chk