[英]Assign a static constant at build time ios xcode
我应该为我们的测试团队使用Prod_URL和Stage_URL构建并存档我的应用程序。 现在我正在使用Constant.h
文件,并且有类似的代码;
//for stage
#define SERVICE_URL @"myStageUrl.com"
/*
//for prod
#define SERVICE_URL @"myProdUrl.com"
*/
而且我总是更改注释行,以便能够构建两个不同版本的应用程序。
所以现在我想自动执行。
我创建了两个目标,例如MyAppStage和MyAppProd。 而且我认为我应该为此编写运行脚本,以便在这两条#define
行之间切换。 但是我不知道怎么写脚本。
还是有更好的方法来解决这种情况?
谢谢,
如果您有两个单独的目标,则可以将这些定义放在其自身的项目属性中。 为此,请转到项目属性。 单击要编辑的目标,单击“构建设置”选项卡,然后搜索预处理器宏。 在此处定义您想要的任何内容,它将对该目标中的每个类可见。
另一个选择是使用相同的Preprocessor Macros构建设置,并为STAGE
设置一个宏。 然后在您的Constant.h中,您可以看到以下内容:
//for stage
#ifdef STAGE
#define SERVICE_URL @"myStageUrl.com"
#else
//for prod
#define SERVICE_URL @"myProdUrl.com"
#endif
在登台目标中,添加一个预处理器宏,例如STAGING_BUILD
。 不要更改生产目标。
现在,在您的代码中:
#ifdef STAGING_BUILD
//for stage
#define SERVICE_URL @"myStageUrl.com"
#else
//for prod
#define SERVICE_URL @"myProdUrl.com"
#endif
然后将仅基于选择要构建的目标来编译所需的行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.