Je travaille sur une application universelle et je souhaite accéder aux valeurs stockées dans le fichier app-info.plist dans mon code.
Raison: j'instancie un UIViewController dynamiquement à partir d'un storyboard en utilisant:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
self = [storyboard instantiateViewControllerWithIdentifier:@"ExampleViewController"];
Maintenant, avoir le nom du storyboard @ "MainStoryboard_iPhone" ci-dessus est moche.
Je veux faire quelque chose comme:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:appInfo.mainStoryboardBaseNamePhone bundle:nil];
self = [storyboard instantiateViewControllerWithIdentifier:@"ExampleViewController"];
où appInfo peut peut-être être un NSDictionary de toutes les valeurs dans app-info.plist
la source
Syntaxe Swift 4+ pour la solution Damo
Exemple
la source
Bundle
nécessiteimport SystemConfiguration
Eh bien, vous pouvez accéder très facilement à info.plist:
Obtenir le nom du storyboard:
Je ne sais pas s'il détectera s'il se trouve dans un iPad et il devrait utiliser la
UIMainStoryboardFile~ipad
clé installée.la source
la source
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
Vous pouvez également utiliser la méthode infoDictionary sur NSBundle:
la source