如何做到这一点?我想获得名称,以便我可以在应用程序中显示它,而不必每次更改名称时都在代码中对其进行更改。
Answers:
尝试这个
NSBundle *bundle = [NSBundle mainBundle];
NSDictionary *info = [bundle infoDictionary];
NSString *prodName = [info objectForKey:@"CFBundleDisplayName"];
根据苹果的说法,首选- objectForInfoDictionaryKey:
直接在NSBundle
对象上使用:
与其他访问方法相比,使用此方法更为可取,因为在有密钥可用时,它将返回密钥的本地化值。
这是Swift中的示例:
let appName = NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleName") as! String
// Or use key "CFBundleDisplayName"
Swift 3的更新-感谢Jef。
let appName = Bundle.main.object(forInfoDictionaryKey: "CFBundleName") as! String
kCFBundleNameKey
而不是简单的字符串:kCFBundleNameKey as String
为了完整起见,Swift 3.0应该是;
let appName = Bundle.main.object(forInfoDictionaryKey: "CFBundleDisplayName") as! String