Мой проект имеет мультицели. Каждая цель имеет свое собственное Class
файл для установки материала. Я хочу сохранить это Class
имя в целевой установке (Info.plist
или установка Building Цели). Так, чтобы я мог определить, какой класс я должен использовать в каждой цели на основе этой установки.
Согласно этому вопросу, я поместил "целевое User Defined
переменная" в Установке Здания каждой Цели.
Но не знайте, как вернуть его в моем коде?
Поскольку файл Info.plist также предварительно обрабатывается, вы можете использовать следующий подход:
Определите пользовательский параметр в настройках сборки, например CLASS_NAME.
И ключ к вашему Info.plist-файлу. Назовите ключ CLASS_NAME и установите значение $ {CLASS_NAME}
.
Затем вы можете получить доступ к этому параметру:
NSString* className = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"CLASS_NAME"];
Вы не можете напрямую использовать переменную, определенную в настройках сборки. Эти переменные предназначены для использования инструментами сборки.
Вместо этого определите макрос препроцессора в переменной Preprocessor Macros, например, MYVAR = 5. Вы можете получить доступ к этим макросам в своем коде, например:
#if MYVAR==5
//Do something
#endif
Обратите внимание, что оценка этих выражений происходит во время сборки, а не во время выполнения.
Очень типичное использование - просто определить макрос, не заботясь о его значении. Например, определите «DEBUG = 1» в настройках отладочной сборки и «RELEASE = 1» в настройках сборки выпуска.
Затем вы можете протестировать с помощью #ifdef или #ifndef
#ifdef DEBUG
// Log
#endif