在调试或临时部署时,我想为我的iPhone应用程序使用其他API URL。有什么办法可以从代码中检测(如果是即席的话)使用此网址,而不是默认网址?

最佳答案

我可以想到两种方法:

1.)有条件的编译

由于您必须“归档”产品以分发即席构建,因此您最好为“归档”设置一个新配置并利用预处理器。

2.)基于Release/Debug/AdHoc的备用默认.settings文件。

与上述建议相同,但使用.settings文件而不是编译文件。就个人而言,我建议在条件编译中使用此方法,因为如果要测试其他环境而无需重新部署,可以在部署后更改(并保存)它。

编辑
Conditional Compilation refers to using "ifdef" blocks right? I tried this once but couldn't get it to check for AD-HOC, only DEBUG seemed to work
正确的。

默认情况下,没有定义“ADHOC”宏。但是您可以轻松添加一个。

这是为ADHOC构建使用新的预处理器宏设置附加配置的方法:

步骤1:设置新的配置(可选...,您可以仅使用Release ...取决于您)。

步骤2:添加该配置的预处理器宏。在我的屏幕截图中,它仅显示“调试和发布”,因为我实际上没有添加新的配置。如果您添加了一个新的Config(并且将其命名为“AdHoc”,则它也应该显示在这里:

就像调试配置的ADHOC=1宏一样添加DEBUG=1

步骤3:修改当前方案或复制它,以使“归档”步骤使用新配置:

10-07 22:57