2013-07-10 7 views
1

У меня возникла какая-то странная проблема.Невозможно прочитать plist из mainbundle

Я не могу прочитать файл Plist из приложения mainbundle

файл находится в «копировать расслоение ресурса»

но почему-то он не может быть прочитан

здесь код

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

это печатает (null) все время

ее е скриншот

enter image description here

может кто-нибудь сказать мне, что происходит?

+0

Вы не можете получить этот путь или не можете прочитать содержимое файла? – Wain

+0

Я не могу прочитать путь к файлу, я не могу прочитать содержимое файла. –

+0

Каковы 3 ошибки на снимке экрана? Ошибки – Robert

ответ

0

Привет Shoeb Амин, пожалуйста, проверьте ваш файл PLIST является добавление в мишенях> Copy Bundle ресурса

+0

на скриншоте показано, что я уже добавил, что –

0

Ваш путь неправильно. copy bundle resource должен читать только 8chk.plist, а не 8chk.plist ..in resources/8chk, если навигатор проекта показывает правильное дерево.

2

Я боюсь сказать, что вы не добавляете это 8chk.plist к своей цели.

+0

Я добавил..и показано на картинке –

2

Перетащите файл PLIST снова в проекте, убедитесь, что вы галочку на флажок при добавлении файла в проект, который говорит «файл копировать в Projectname»

затем использовать этот код, чтобы сделать его доступным и считывать значения из списка свойств

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

ИЛИ

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

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

8 chak k bhai yeh check kro – iAhmed

+0

Пробовал, но не работает –

+0

ответьте на английском. Я не pakistani –

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

Это может сработать. не забудьте скопировать plist в цель и поместить его в корневой каталог. Также вы можете попытаться поместить файлы plist, где хранится плита по умолчанию.

:)