На самом деле вы можете получить имя цели для сравнения, но это не пропустит ненужный код из других целей во время компиляции, чтобы сделать это:
Сначала перейдите в меню Product -> Scheme -> Edit Scheme ... (или CMD + <)
Затем в разделе аргументов добавьте в переменные окружения что-то вроде: </p>
В вашем коде вы можете получить имя цели как:
NSString *targetName = [[NSProcessInfo processInfo] environment][@"TARGET_NAME"];
NSLog(@"target = %@", targetName); // Will print the target's name
Вы можете сравнить эту строку сейчас во время выполнения.
Но следуя вашему примеру: если вы хотите, чтобы весь код версии Pro был пропущен во время компиляции. Вы должны делать то, что говорит @ Джейсон-Коко. И перейдите к макросам препроцессора в настройках сборки и добавьте туда $(TARGET_NAME)
:
Код внутри #define будет скомпилирован и выполнен, если моя цель "MLBGoldPA"
#if defined MLBGoldPA
NSLog(@"Compiling MLBGoldPA");
#endif