testing目标程序中意外的“@”
我有如下所示的string常量。 此代码编译器在正常的应用程序debugging和发布目标。 但在应用程序的testing目标(Ctrl + U)中,我在testing目标程序中出现意外的“@”错误。 使用xcode 7。
模块在这个问题中被解答 。
HeaderA.h
#define URL_A "http://www.example.com/service"
HeaderB.h
#define URL_AC @URL_A
在这里出现错误,在程序中出现意外的“@”。 从macros@URL_AC扩展
模块在这个问题中被解答 。
用于.m文件中,
NSURL * url = [NSURL URLWithString:URL_AC];
即使声明
#define URL_AC @"https://www.example.com/service?format=json"
得到'使用未声明的标识符URL_AC'编译器错误。
我发现了这个问题。 'define'有一些#ifdefmacros。 这是使用build settings
中的preprocessor declaration
进行控制的。 在我的testing目标中没有定义。 当我定义它,编译器得到'定义'和所有的错误消失了。
#if defined(TEST0) #define URL0 "http://www.example.com" #elif defined(TEST1) #define URL1 "http://www.example2.com" #endif