2013-09-24 25 views
10

Próbuję pobrać nazwę aplikacji do użycia jako tytuł NavController, ale cokolwiek robię, nie mogę uzyskać wartości CFBundleDisplayName. Zwraca "null".CFBundleDisplayName zwraca 'null'

jest to kod używam

[NSBundle mainBundle] infoDictionary][@"CFBundleDisplayName"] 

sprawdzone wiązki = tam jest tylko jedna. Celem Xcode5/dev jest iOS5. Nie sprawdziłem jednak urządzenia. Korzystanie z symulatora.

Dzięki!

Odpowiedz

21

Spróbuj tego kodu, aby uzyskać nazwa aplikacji

NSString *appName =  [[[NSBundle mainBundle] infoDictionary] objectForKey:(NSString *)kCFBundleNameKey]; 
+0

Thanks to naprawdę pomocne. – xaphod

0

szybkiego rozszerzenia przetestowany z iOS 9:

extension UIApplication { 

    static var applicationName: String { 
     let mainBundle = NSBundle.mainBundle() 
     let key = String(kCFBundleNameKey) 
     let value = mainBundle.objectForInfoDictionaryKey(key) as? String 
     return value ?? "" 
    } 

}