Я работаю над универсальным приложением и хочу получить доступ к значениям, хранящимся в файле app-info.plist в моем коде.
Причина: я динамически создаю экземпляр UIViewController из раскадровки, используя:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
self = [storyboard instantiateViewControllerWithIdentifier:@"ExampleViewController"];
Теперь иметь имя раскадровки @ "MainStoryboard_iPhone" выше некрасиво.
Я хочу сделать что-то вроде:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:appInfo.mainStoryboardBaseNamePhone bundle:nil];
self = [storyboard instantiateViewControllerWithIdentifier:@"ExampleViewController"];
где appInfo, возможно, может быть NSDictionary всех значений в app-info.plist
источник
Синтаксис Swift 4+ для решения Damo
пример
источник
Bundle
требуетсяimport SystemConfiguration
Вы можете легко получить доступ к info.plist:
Получение названия раскадровки:
Не уверен, что он определит, находится ли он в iPad, и должен ли использовать установленный
UIMainStoryboardFile~ipad
ключ.источник
источник
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
Вы также можете использовать метод infoDictionary в NSBundle:
источник