【问题标题】:Changing Objective-C SDK settings from the application using it从使用它的应用程序更改 Objective-C SDK 设置
【发布时间】:2017-06-25 15:35:16
【问题描述】:

我有一个关于从使用它的应用程序修改 SDK 设置的问题。

我有一个自定义 SDK,它在执行某些操作时会打印到日志中。我希望这个 SDK 的用户能够打开/关闭登录。我使用 NSLog 作为我的记录器。

我已经尝试为此设置一个预处理器宏,正如在 stackoverflow 中多次解释的那样,通过执行以下操作:

#ifdef SHOWLOG
#   define SLog(fmt, ...) NSLog((fmt), ##__VA_ARGS__);
#else
#   define SLog(...)

#endif

然后期望用户设置一个名为“-DSHOWLOG”的编译标志

这不起作用,因为使用 SDK 的人将拥有 SDK 的编译版本。

还有哪些其他方法可以从使用它的应用程序更改 SDK 的配置? 环境变量是一个不错的选择吗?

【问题讨论】:

    标签: objective-c sdk


    【解决方案1】:

    也许我误解了这个问题,所以我会猜测并提供这个答案,希望对您有所帮助:

    1. 在您的 SDK 中创建您的设置,您可以查询这些设置来控制您的 SDK 的行为方式。这些设置可以存储在共享/单例对象中,在功能性(即 C 函数)API 之后,甚至只是 SDK(未公开记录)全局变量。
    2. 提供更改这些设置值的公共 API。

    因此,在问题中提到的情况下,您需要一个 SDK 内部的“显示日志”设置和一个公共 API 来设置它。

    HTH

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-28
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2015-10-05
      • 2014-10-22
      相关资源
      最近更新 更多