我需要根据构建模式(发布和调试)设置不同的url字符串。 我已经在Target的构建设置中定义了一个用户定义的var,并试图像这样访问它:
[[[NSBundle mainBundle] infoDictionary] valueForKey:@"SERVER_URL"];
但是返回null。这样做的正确方法是什么? 我使用的是Objective-c。
答案 0 :(得分:1)
您可以拥有两个targets,每个Preprocessor Macros都有自己的{{3}}。例如,您可以使用名为PRODUCTION
的预处理器宏创建生产目标。因此,每次使用该目标时,您都将使用“PRODUCTION_URL”,否则您将使用“DEVELOPMENT_URL”。
所以你的代码看起来像这样:
#ifdef PRODUCTION
static NSString *const serverURL = @"PRODUCTION_URL";
#else
static NSString *const serverURL = @"DEVELOPMENT_URL";
#endif
#if PRODUCTION
static let serverURL = "PRODUCTION_URL"
#else
static let serverURL = "DEVELOPMENT_URL"
#endif