Pracuję nad aplikacją Universal i chciałbym uzyskać dostęp do wartości przechowywanych w pliku app-info.plist w moim kodzie.
Powód: dynamicznie tworzę wystąpienie UIViewController z serii ujęć przy użyciu:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil];
self = [storyboard instantiateViewControllerWithIdentifier:@"ExampleViewController"];
Posiadanie nazwy storyboardu @ "MainStoryboard_iPhone" powyżej jest brzydkie.
Chcę zrobić coś takiego:
UIStoryboard* storyboard = [UIStoryboard storyboardWithName:appInfo.mainStoryboardBaseNamePhone bundle:nil];
self = [storyboard instantiateViewControllerWithIdentifier:@"ExampleViewController"];
gdzie appInfo może być NSDictionary wszystkich wartości w app-info.plist
źródło
Szybka składnia 4+ dla rozwiązania Damo
Przykład
źródło
Bundle
wymagaimport SystemConfiguration
Cóż, możesz bardzo łatwo uzyskać dostęp do info.plist:
Pobieranie nazwy storyboardu:
Nie jestem pewien, czy wykryje, czy jest w iPadzie, i powinien użyć umieszczonego
UIMainStoryboardFile~ipad
klucza.źródło
źródło
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:path];
Możesz również użyć metody infoDictionary w NSBundle:
źródło