OSLog Logger 不适用于 XCode 游乐场:无法查找符号:___dso_handle

OSLog Logger doesn't work on XCode Playground: Couldn't lookup symbols: ___dso_handle

我想在 Playground 中测试新的 iOS 14 Logger 但我发现了下一个问题:

// MyLog.playground

import os

let logger = Logger()
logger.log("Hello OSLog")

输出:

error: Couldn't lookup symbols:
  ___dso_handle
  ___dso_handle

与旧 OSLog 相同 API:

os_log("Hello OSLog")

是否可以将 OSLog 与 playgrounds 一起使用?

有一种解决方法可以在 Playgrounds 上使用 Logger。您应该在 playground 中创建新文件(例如 Sources/Log.swift)并在那里实现代码:

// Log.swift

import os

let logger = Logger()

public func log(_ text: String) {
    logger.log("\(text)")
}
// MyLog.playground

log("Hello OSLog")