2

如果我将它编译到设备或模拟器,它运行良好。但是当我做产品->存档时,它会出错:

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

但这适用于模拟器和设备

我正在使用 Xcode 版本 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

感谢您的投入。

谢谢

4

1 回答 1

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
于 2013-03-19T20:03:51.363 回答