Получение названия приложения
-
26-09-2019 - |
Вопрос
У меня есть Lite и полная версия и хочем, чтобы они работали с разными файлами конфигурации.
Теперь мне нужно запросить в приложении, если имя приложения имеет «Lite» в нем и загрузить соответствующий файл конфигурации, я не нашел, как это сделать. Есть идеи ? Или в целом для этого есть лучший подход?
Спасибо заранее Heiko
Решение
Пытаться
[[NSProcessInfo processInfo] processName]
Это возвращает имя процесса, которое обычно является именем вашего приложения.
Другие советы
Если вы хотите, что было введено в файл info.plist, используйте:
NSString * displayName = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"];
У вас приложение имеет основной () в Main.m (если вы использовали шаблон). Пройдено аргументы командной строки, а ARGV [0] должен быть полным путем приложения, который вы можете разобрать. Вам придется сохранить его в глобальной переменной.
Вы также можете проверить застытия в 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)")