Получение данных из информационного списка - PullRequest
15 голосов
/ 21 марта 2012

Всякий раз, когда я хочу получить данные из plist-файла, я использую следующий код:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"FILE_NAME" ofType:@"plist"];
NSDictionary *plistData = [NSDictionary dictionaryWithContentsOfFile:filePath]; 

Но сейчас я пытаюсь прочитать данные из Info-списка, а filePath равен нулю. Есть ли другой способ получить данные из информационного списка?

Ответы [ 3 ]

43 голосов
/ 21 марта 2012

Из более раннего SO моего ответа. Атрибуты из info.plist для вашего проекта напрямую доступны по следующему ...

[[NSBundle mainBundle] objectForInfoDictionaryKey:key_name];

Ваш filePath равен nil просто потому, что он не может найти файл - проверьте орфографию и проверьте, находится ли файл, из которого вы пытаетесь прочитать, на самом деле в комплекте и т. Д.

1 голос
/ 21 марта 2012

Я не думаю, что есть другой способ (если только это не файл info.plist, то посмотрите комментарий Дамо), вместо этого я бы сосредоточился на выяснении, почему filePath равен nil, возможно, файл plist больше не находится под target> buildфазы> скопировать ресурсы пакета?

0 голосов
/ 22 января 2016

Заменить

[[NSBundle mainBundle] pathForResource:@"FILE_NAME" ofType:@"plist"]

с

[[NSBundle mainBundle] pathForResource: @"Info" ofType: @"plist"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...