调试和发布-iOS中的不同URL

时间:2018-06-08 09:10:57

标签: ios objective-c

我需要根据构建模式(发布和调试)设置不同的url字符串。 我已经在Target的构建设置中定义了一个用户定义的var,并试图像这样访问它:

[[[NSBundle mainBundle] infoDictionary] valueForKey:@"SERVER_URL"];

但是返回null。这样做的正确方法是什么? 我使用的是Objective-c。

1 个答案:

答案 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