2010-08-07 199 views
3

我有一个精简版和完整版本,并希望他们能够使用不同的配置文件。获取应用程序的名称

现在我需要在应用程序中查询应用程序名称是否具有“lite”并加载相应的配置文件 我还没有找到如何去做。任何想法 ? 或者通常有更好的方法呢?

在此先感谢 海科

回答

3

尝试

[[NSProcessInfo processInfo] processName] 

这将返回过程的名称,通常是您的应用程序的名称。

2

您的应用在main.m文件一个main()(如果你使用的模板)。它通过命令行参数传递,argv [0]应该是应用程序的完整路径,您可以解析它。您必须将其保存在全局变量中。

您也可以检查appDelegate中的launchOptions以查看它是否也存在。

+1

ahhh该死的。我应该记得很久以前的一堂课:-) 非常感谢 – HeikoG 2010-08-07 13:39:13

5

如果你想要的东西被放入Info.plist文件,使用方法:

NSString * displayName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]; 
0

尝试此斯威夫特:

if let appName = Bundle.main.infoDictionary?["CFBundleName"] as? String { 
    print("App Name - \(appName)") 
} 

也试试这个,如果你已经设置的显示名称

if let displayName = Bundle.main.infoDictionary?["CFBundleDisplayName"] as? String { 
    print("App Display Name - \(displayName)") 
} 

有用的技巧:

// Print bundle info dictionary to get complete details about app 
print("Bundle.main.infoDictionary - \(Bundle.main.infoDictionary)") 
相关问题