0

我已经建立了一个框架来公开它并与其他项目一起使用。它具有内置日志。所以我试图让应用程序开发人员(想要使用我的框架)能够在框架中启用/禁用日志。我考虑的最好方法是他可以将预处理器宏定义添加到应用程序的构建设置中,例如:

ENABLE_FRAMEWORK_LOGS = 1

所以我可以做这样的事情:

#ifdef ENABLE_FRAMEWORK_LOGS
    NSLog(12345);
#endif

但我有一个问题:我的框架在应用程序的构建设置中没有看到预定义的宏,它只能在框架的构建设置中看到预定义的宏

所以我的问题是:有可能吗?如果不是 - 正确的方法是什么?

谢谢

4

1 回答 1

2

如果您正在发布您的源代码,并且您相信用户只会将您的源代码放入他们的项目中,那么您可以使用预处理器宏,因为您的源代码将在他们构建他们的应用程序时被编译。

但是,如果您将已编译的框架发布给公众,那么您不能使用预处理器宏,因为它们仅在编译时使用。您必须能够允许用户通过对您的框架的 API 调用将其关闭,或者让您的框架能够读取配置文件/plist。

于 2013-01-16T20:44:17.387 回答