尝试通过可可豆荚构建可可伐木工人/ swift。 编译最新的标记3.2.0最终会导致DDOSLogger.m中出现错误 这是一个样本:
.../Pods/CocoaLumberjack/Classes/DDOSLogger.m:68:17: error: static_assert failed "formatters/labels/descriptions must be a constant string"
os_log_debug(OS_LOG_DEFAULT, msg);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:271:9: note: expanded from macro 'os_log_debug'
os_log_with_type(log, OS_LOG_TYPE_DEBUG, format, ##__VA_ARGS__)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:175:9: note: expanded from macro 'os_log_with_type'
OS_LOG_CALL_WITH_FORMAT(_os_log_impl, \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/trace_base.h:59:28: note: expanded from macro 'OS_LOG_CALL_WITH_FORMAT'
OS_LOG_PRAGMA_PUSH OS_LOG_STRING(LOG, _os_fmt_str, fmt); \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/trace_base.h:50:9: note: expanded from macro 'OS_LOG_STRING'
_Static_assert(__builtin_constant_p(_str), \
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
.../Pods/CocoaLumberjack/Classes/DDOSLogger.m:68:17: error: array initializer must be an initializer list or string literal
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:271:9: note: expanded from macro 'os_log_debug'
os_log_with_type(log, OS_LOG_TYPE_DEBUG, format, ##__VA_ARGS__)
^
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:175:9: note: expanded from macro 'os_log_with_type'
OS_LOG_CALL_WITH_FORMAT(_os_log_impl, \
^
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/trace_base.h:59:47: note: expanded from macro 'OS_LOG_CALL_WITH_FORMAT'
OS_LOG_PRAGMA_PUSH OS_LOG_STRING(LOG, _os_fmt_str, fmt); \
^
.../Pods/CocoaLumberjack/Classes/DDOSLogger.m:68:46: error: os_log() format argument is not a string constant
os_log_debug(OS_LOG_DEFAULT, msg);
^~~
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:271:50: note: expanded from macro 'os_log_debug'
os_log_with_type(log, OS_LOG_TYPE_DEBUG, format, ##__VA_ARGS__)
^~~~~~
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/log.h:176:55: note: expanded from macro 'os_log_with_type'
(&__dso_handle, _log_tmp, _type_tmp), format, ##__VA_ARGS__); \
^~~~~~
In module 'os' imported from .../Pods/CocoaLumberjack/Classes/DDOSLogger.m:18:
/Applications/Xcode 8.3.2.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/usr/include/os/trace_base.h:60:65: note: expanded from macro 'OS_LOG_CALL_WITH_FORMAT'
uint8_t _os_fmt_buf[__builtin_os_log_format_buffer_size(fmt, ##__VA_ARGS__)]; \
^~~
我已经更新了可可豆荚,尝试使用最后一个Xcode 8.3.1,清理所有内容等等......没有运气。 让我感到惊讶的是,我无法对此进行任何讨论......显然我没有收到消息,因为其他人都有这个或者使用旧标签。
使用标签3.1.0可以正常工作,我相信其中包含的DDOSLogger也没有。
答案 0 :(得分:2)
我不确定您是否设法解决此问题,但此处描述了类似的问题 - https://github.com/CocoaLumberjack/CocoaLumberjack/issues/883
基本上,这是CocoaLumberjack中的一个错误,它出现在新版本的Xcode中,并且已经修复。