2016-05-20 1 views
0

Мой проект содержит 3 цели, и для этого требуются некоторые данные учетных данных. У меня есть файл define.h, где я проверяю текущую цель и затем инициализирую константы.Файл заголовка не выполняется, если else case

#ifdef XYZ44DEV 

#define COM_CMS_URL      @"http://xyz.portal.com" 
#define COM_CMS_USER     @"test" 
#define COM_CMS_PASS     @"test" 

#elif XYZ44UAT 

#define COM_CMS_URL      @"http://xyz.uat.portal.com" 
#define COM_CMS_USER     @"uat" 
#define COM_CMS_PASS     @"uat" 

#else 

#define COM_CMS_URL      @"http://xyz.prod.portal.com" 
#define COM_CMS_USER     @"Prod" 
#define COM_CMS_PASS     @"Prod" 

#endif 

Любая цель я бегу, он идет к другому делу и принимает COM_CMS_USER & COM_CMS_PASS как "Prod". Пожалуйста, дайте мне знать, что мне здесь не хватает.

+0

вы добавить этот defines.h файл в файл .PCH. ... если нет, то добавьте #import «Defines.h» в .pch-файл ... Hopw поможет –

ответ

1

Вам нужно добавить макросы препроцессора в настройках сборки, как показано на изображении

enter image description here

выход для

NSLog(@"%@",COM_CMS_USER); 

является

2016-05-20 11:58:05.315 CustomKeyboard[2952:687530] test 
+0

это нормально, если у меня есть пробелы в моей цели; как XYZ 44 DEV или XYZ 44 PROD? – user3300864

+0

, где вам нужно – Rajesh

1

Вы должны установить предварительную обработку макросов в установке You have to add macro for each your target

For macro , you can set only supported versions

Изображение 1: Вы должны добавить макрос для каждой вашей целевой изображение 2: Для макроса, вы можете установить только поддерживаемые версии

Смежные вопросы