【问题标题】:Programmatically distinguish between Ad-hoc and AppStore version of app以编程方式区分 Ad-hoc 和 AppStore 版本的应用程序
【发布时间】:2014-02-10 05:00:00
【问题描述】:

我有一个应用程序可以将日志发送到 Keen IO 以进行日志记录和分析。向 Keen IO 发送日志的代码由预处理器宏保护,因此当我在模拟器或我自己的手机上运行它时,它从不发送任何日志。

我通常遵循的是——在应用程序(几乎)完成后,我发布一个临时版本并将其提供给一些使用它几天的测试人员并对其进行测试。但是,由于它也是“发布”版本,因此该应用程序会发送分析数据。这些数据通常会污染我原本应该来自真实用户的其他数据!

我想在应用程序内部以编程方式知道它是临时发布版本还是 AppStore 发布版本,所以我可以处理这两个条件。有没有办法做到这一点?

我能想到的唯一方法是有另一个预处理器宏AD_HOC 告诉它它是一个测试版本。但是可能会发生我在提交到 AppStore 时忘记删除宏的情况。如果发生这种情况,它也无济于事。

【问题讨论】:

    标签: ios macros app-store ad-hoc-distribution


    【解决方案1】:

    出于非常相似的原因,我使用这样的宏。我使用发布构建设置构建临时版本,使用分发构建设置构建应用商店版本。这样可以避免忘记将#define 设置为正确的值。

    【讨论】:

    • 如何添加“分发”构建设置?我只能在预处理器宏下看到两个选项 - “调试”和“发布”
    • 没关系,找到了。 stackoverflow.com/questions/19842746/…
    • 我还有一个问题——你如何告诉 Xcode 对 Ad-hoc 使用“Release”配置,对 AppStore 发布使用“Distribution”配置?
    • 我使用单独的目标和方案。
    • 如果您使用单独的目标,为什么需要另一个构建设置?您可以使用另一个目标上的“发布”构建设置来设置#define。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    相关资源
    最近更新 更多