Вопрос

У меня есть 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)")
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top