我想在调试或进行临时部署时为我的iPhone应用程序使用不同的API网址。有没有办法从代码中检测(如果是adhoc)使用这个Url而不是默认的?
答案 0 :(得分:55)
我能想到两种方式:
1。)条件编译
由于您必须“归档”产品以分发adhoc构建,因此您也可以为Archive设置新配置并利用预处理器。
2.。)备用默认.settings文件基于Release / Debug / AdHoc。
与上面相同的建议,但使用.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步:为该配置添加预处理器宏。在我的屏幕截图中,它只显示Debug和Release,因为我实际上没有添加新的配置。如果你添加了一个新的配置(并称之为“AdHoc”,它也应该显示在这里:
添加ADHOC=1
就像调试配置的DEBUG=1
宏一样。
第3步:修改您当前的Scheme或复制它,以便“归档”步骤使用您的新配置: