Estou trabalhando em um aplicativo Universal e gostaria de acessar os valores armazenados no arquivo app-info.plist em meu código.
Motivo: Eu instanciao um UIViewController dinamicamente a partir de um storyboard usando:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
self = [storyboard instantiateViewControllerWithIdentifier:@"ExampleViewController"];
Agora, ter o nome do storyboard @ "MainStoryboard_iPhone" acima é feio.
Eu quero fazer algo como:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:appInfo.mainStoryboardBaseNamePhone bundle:nil];
self = [storyboard instantiateViewControllerWithIdentifier:@"ExampleViewController"];
onde appInfo pode ser um NSDictionary de todos os valores em app-info.plist
fonte
Sintaxe do Swift 4+ para a solução da Damo
Exemplo
fonte
Bundle
requerimport SystemConfiguration
Bem, você pode acessar o info.plist facilmente:
Obtendo o nome do storyboard:
Não tenho certeza se ele detectará se está em um iPad e deve usar a
UIMainStoryboardFile~ipad
chave instalada.fonte
fonte
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
Você também pode usar o método infoDictionary em NSBundle:
fonte