Получение данных из Info plist

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

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

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

Ответы

Ответ 1

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

[[NSBundle mainBundle] objectForInfoDictionaryKey:key_name];

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

Ответ 2

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

Ответ 3

Заменить

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

с

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