2010-08-07 176 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)") 
相關問題