How to get localized CFBundleDisplayName
Have you tried -[NSBundle localizedInfoDictionary]
?
[[[NSBundle mainBundle] localizedInfoDictionary] objectForKey:@"CFBundleDisplayName"]
Try this for Swift:
// Localizedif let displayName = Bundle.main.localizedInfoDictionary?["CFBundleDisplayName"] as? String { print("App Display Name - \(displayName)")}// Non-Localizedif let displayName = Bundle.main.infoDictionary?["CFBundleDisplayName"] as? String { print("App Display Name - \(displayName)")}
Also try this, if you have not set Display Name
// Localizedif let appName = Bundle.main. localizedInfoDictionary?["CFBundleName"] as? String { print("App Name - \(appName)")}// Non-Localizedif let appName = Bundle.main.infoDictionary?["CFBundleName"] as? String { print("App Name - \(appName)")}
Useful trick:
// Print bundle info dictionary to get complete details about appprint("Bundle.main.infoDictionary - \(Bundle.main.infoDictionary)")print("Bundle.main.localizedInfoDictionary - \(Bundle.main.localizedInfoDictionary)")
I suggest to use kCFBundleNameKey
:
[[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString*)kCFBundleNameKey]