【问题标题】:iOS, detect ad-hoc from codeiOS,从代码中检测临时
【发布时间】:2011-08-31 03:13:18
【问题描述】:

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

【问题讨论】:

    标签: objective-c ios


    【解决方案1】:

    我能想到的方法有两种:

    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 步:修改您当前的方案,或复制它,以便“存档”步骤使用您的新配置:

    【讨论】:

    • 我没有读过/听说过这两种技术。你有链接吗?条件编译是指使用“ifdef”块对吗?我尝试过一次,但无法检查 AD-HOC,只有 DEBUG 似乎有效。
    • 优秀的截图。谢谢你。每个人都投票赞成这个答案。
    • 这是完美的。但我想知道是否有办法修改 Xcode 模板,以便每个新项目都带有新的自定义配置和构建设置?
    • 除非我遗漏了什么,否则此技术依赖于您确保在存档之前选择正确的方案 - 您可以轻松存档 Ad-Hoc 构建并提交到应用商店,或者不同的配置文件阻止应用提交工作?
    • @Steve 您能否更新此答案以反映 XCode 的最新版本?
    猜你喜欢
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-02
    相关资源
    最近更新 更多