iOS,从代码中检测ad-hoc

时间:2011-08-31 03:13:18

标签: objective-c ios

我想在调试或进行临时部署时为我的iPhone应用程序使用不同的API网址。有没有办法从代码中检测(如果是adhoc)使用这个Url而不是默认的?

1 个答案:

答案 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 ...由您决定。)

Setup a new config

第2步:为该配置添加预处理器宏。在我的屏幕截图中,它只显示Debug和Release,因为我实际上没有添加新的配置。如果你添加了一个新的配置(并称之为“AdHoc”,它也应该显示在这里:

enter image description here

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

第3步:修改您当前的Scheme或复制它,以便“归档”步骤使用您的新配置:

enter image description here