【发布时间】:2011-08-31 03:13:18
【问题描述】:
在调试或进行临时部署时,我想为我的 iPhone 应用程序使用不同的 API url。有没有办法从代码中检测(如果是临时的)使用这个 Url 而不是默认的?
【问题讨论】:
标签: objective-c ios
在调试或进行临时部署时,我想为我的 iPhone 应用程序使用不同的 API url。有没有办法从代码中检测(如果是临时的)使用这个 Url 而不是默认的?
【问题讨论】:
标签: objective-c ios
我能想到的方法有两种:
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 步:为该配置添加预处理器宏。在我的屏幕截图中,它仅显示调试和发布,因为我实际上并没有添加新配置。如果您添加了一个新配置(并将其称为“AdHoc”,它也应该显示在此处:
添加ADHOC=1,就像调试配置的DEBUG=1 宏一样。
第 3 步:修改您当前的方案,或复制它,以便“存档”步骤使用您的新配置:
【讨论】: