получить название приложения - PullRequest
3 голосов
/ 07 августа 2010

У меня есть облегченная и полная версии, и я хочу, чтобы они работали с разными файлами конфигурации.

Теперь мне нужно запросить в приложении, есть ли в названии приложения «lite», и загрузить соответствующий конфигурационный файл. Я не нашел, как это сделать. Любая идея ? Или вообще есть лучший подход к этому?

Спасибо заранее Хайко

Ответы [ 4 ]

5 голосов
/ 07 августа 2010

Если вы хотите, чтобы то, что было помещено в файл Info.plist, используйте:

NSString * displayName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
3 голосов
/ 07 августа 2010

Попробуйте

[[NSProcessInfo processInfo] processName]

Возвращает имя процесса, обычно это имя вашего приложения.

2 голосов
/ 07 августа 2010

Ваше приложение имеет main () в main.m (если вы использовали шаблон). Он получает аргументы командной строки, и argv [0] должен быть полным путем приложения, которое вы можете проанализировать. Вам придется сохранить его в глобальной переменной.

Вы также можете проверить launchOptions в appDelegate, чтобы увидеть, есть ли он там тоже.

0 голосов
/ 13 октября 2017

Попробуйте это для Swift:

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)")
...