os_log,日志记录子系统和ObjectiveC无法编译

时间:2020-02-14 10:32:57

标签: objective-c swift

我正在从事一个具有客观性C的项目。我想使用os_log,但无法弄清楚。 我可以使日志工作到默认日志,但是如果尝试创建自定义日志,则编译器会抱怨不了解我的objC文件中的OSLog

这是快速扩展名:

import os.log

 extension OSLog {
    private static var subsystem = Bundle.main.bundleIdentifier!

     static let main = OSLog(subsystem: subsystem, category: "main")
}

在我的ObjectiveC文件中,导入-Swift.h文件,它可以看到我拥有的其他swift类,但仍然看不到OSLog。 os_log_debug([OSLog main], "message");

得到以下错误: -使用未声明的标识符“ Log”;你是说“日志”吗? -错误的接收者类型'void(*)(id,...)'

我显然错过了一些东西...

1 个答案:

答案 0 :(得分:0)

尝试在@objc之前添加extension

@objc extension OSLog {
    private static var subsystem = Bundle.main.bundleIdentifier!

    static let main = OSLog(subsystem: subsystem, category: "main")
}