gpt4 book ai didi

ios - CocoaLumberjack 1.9.x 遗留宏启用 + DDLogWarn 宏重新定义

转载 作者:行者123 更新时间:2023-12-01 17:50:51 27 4
gpt4 key购买 nike

我有一个项目使用 Cocoalumberjack 2.x 作为 Cocoapod。该项目主要使用 Obj-C,但也有一些 Swift 类。

我总是收到这些警告:

Disable legacy macros by importing CocoaLumberjack.h or DDLogMacros.h instead of DDLog.h or add `#define DD_LEGACY_MACROS 0` before importing DDLog.h.

在主项目中,我没有导入 DDLog.h 的文件。仅 Pod 中的 CocoaLumberjack 导入 DDLog.h。

我还收到了 DDLogError macro redefinedDDLogInfo macro redefined 等警告。导致这种情况的问题是什么?

最佳答案

我认为问题源于缺少 DDLegacyMacros.h:

#if DD_LEGACY_MACROS

第 21 行和:

#endif

在第 75 行。然后在 DDLog.h 中,替换:

#if DD_LEGACY_MACROS
#import "DDLegacyMacros.h"
#endif

与:

#import "DDLegacyMacros.h"

https://github.com/CocoaLumberjack/CocoaLumberjack/commit/9b31277c90d7c3968038af09a7bddd003aa28da9

在 Cocoapods 中应用新的 use_frameworks! 选项时,桥接头是自动生成的。此桥接 header 必须导入 DDLegacyMacros.h直接地。这会导致启用 CocoaLumberjack 1.9.x 遗留宏。macro
重新定义
警告。

因此仅仅检查DDLog.h中的flag是不够的。

关于ios - CocoaLumberjack 1.9.x 遗留宏启用 + DDLogWarn 宏重新定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31783041/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com