Получить название приложения
У меня есть облегченная и полная версия, и я хочу, чтобы они работали с разными конфигурационными файлами.
Теперь мне нужно запросить в приложении, есть ли в названии приложения "lite", и загрузить соответствующий конфигурационный файл, который я не нашел, как это сделать. Любая идея? Или вообще есть лучший подход к этому?
Заранее спасибо Heiko
4 ответа
Пытаться
[[NSProcessInfo processInfo] processName]
Это возвращает имя процесса, которое обычно является именем вашего приложения.
Если вы хотите, чтобы то, что было помещено в файл Info.plist, используйте:
NSString * displayName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
Ваше приложение имеет main() в main.m (если вы использовали шаблон). Он получает аргументы командной строки, и argv[0] должен быть полным путем приложения, которое вы можете проанализировать. Вам придется сохранить его в глобальной переменной.
Вы также можете проверить launchOptions в appDelegate, чтобы увидеть, есть ли он там тоже.
Попробуйте это для 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)")