Подтвердить что ты не робот

Как получить целевое имя?

Мы знаем, что Xcode поддерживает переменную окружения ${TARGET_NAME}, но как получить доступ к этой переменной в коде objective-C?

Что я пробовал?
Я добавил "TARGET_NAME=${TARGET_NAME}" это в разделе макросов препроцессора в разделе "Настройки сборки". Но теперь я не уверен, как использовать эту переменную "TARGET_NAME" как строку в коде objective-C.

В моем случае имя продукта и имя цели разные, поэтому нет возможности использовать это.

Я попытался получить доступ, используя

#ifdef TARGET_NAME
 NSLog(@"TargetIdentifier %@",TARGET_NAME);
#endif

Этот код дает ошибку, например "Использование необъявленного идентификатора" myapptargetname "

4b9b3361

Ответ 1

Вы можете добавить ключ "TargetName" в свой файл Info.plist:

enter image description here

Затем вы можете получить к нему доступ (быстрый код):

var plistFileName = NSBundle.mainBundle().infoDictionary?["TargetName"] as String

Ответ 2

NSLog(@"Target name: %@",[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleName"]);

Надеюсь помочь вам!

Отредактировано: "CFBundleName" спасибо Макс и Дэниел Бо за вашу благодарность

Ответ 3

Swift 3, Xcode 8 +

let targetName = Bundle.main.infoDictionary?["CFBundleName"] as? String ?? ""

Ответ 4

В Xcode 7.3.1

if let targetName = NSBundle.mainBundle().infoDictionary?["CFBundleName"] as? String{
    print(targetName)
}