2013-03-19 9 views
2

Если я скомпилирую его на устройство или симулятор, он работает хорошо. Но когда я делаю продукт -> Архив, это ошибки:Ошибки ТОЛЬКО при работе с продуктом -> Архив с семантической проблемой

Login.m 
! Semantic Issue 
    Use of undeclared identifier 'kLogin_URL' 

Но это работает на тренажере и устройства

Я использую Xcode версии Version 4.6 (4H127). Вот постоянный файл.

#ifndef MyMobileApp_AllUrls_h 
    #define MyMobileApp_AllUrls_h 

    #ifdef QA 
     #define kLogin_URL    @"https://b2bgateway.qa.mycompany.com/authenticate" 
     #define ktran_URL    @"https://b2bgateway.qa.mycompany.com/.../lookup" 

     #define LOGIN_REQUEST_TIMEOUT 15.0f 
     #define TRAN_REQ_TIMEOUT  60.0f 
    #endif 

    #ifdef PROD 
     #define kLogin_URL    @"https://b2bgateway.mycompany.com/authenticate" 
     #define ktran_URL    @"https://b2bgateway.mycompany.com/.../lookup" 

     #define LOGIN_REQUEST_TIMEOUT 15.0f 
     #define TRAN_REQ_TIMEOUT  30.0f 
    #endif 
#endif 

Содержание -prefix.pch является

#import <Availability.h> 

#ifndef __IPHONE_5_0 
#warning "This project uses features only available in iOS SDK 5.0 and later." 
#endif 

#ifdef __OBJC__ 
    #import <UIKit/UIKit.h> 
    #import <Foundation/Foundation.h> 
    #import "AllUrls.h" 
#endif 

Цените свои входы.

Благодаря

+0

Я предполагаю, что вы дважды проверили конфигурацию сборки, чтобы убедиться, что PROD правильно определен? –

+0

Мои макросы препроцессора настройки настройки в настоящее время установлены как QA = 1 DEBUG = 1. – user1509593

+0

Это проблема. –

ответ

0

Убедитесь, что ваши настройки сборки макросов препроцессора включают PROD под конфигурацией выпуска.

На ваш комментарий просто хотел убедиться, что это то, что вы сделали.

#ifdef QA 
    #define kLogin_URL    @"https://b2bgateway.qa.mycompany.com/authenticate" 
    #define ktran_URL    @"https://b2bgateway.qa.mycompany.com/.../lookup" 

    #define LOGIN_REQUEST_TIMEOUT 15.0f 
    #define TRAN_REQ_TIMEOUT  60.0f 
#else 
    #define kLogin_URL    @"https://b2bgateway.mycompany.com/authenticate" 
    #define ktran_URL    @"https://b2bgateway.mycompany.com/.../lookup" 

    #define LOGIN_REQUEST_TIMEOUT 15.0f 
    #define TRAN_REQ_TIMEOUT  30.0f 
#endif 
+0

Хорошо, должен ли я иметь как QA, так и prod – user1509593

+0

Да, 'QA' там же, что и' DEBUG' и 'PROD' в разделе выпуска. –

+0

Или вы можете покончить с 'PROD' и изменить свой' # ifdef' на '# else' –