OSLog Logger 在 XCode Playground 上不起作用:无法查找符号:___dso_handle

Posted

技术标签:

【中文标题】OSLog Logger 在 XCode Playground 上不起作用:无法查找符号:___dso_handle【英文标题】:OSLog Logger doesn't work on XCode Playground: Couldn't lookup symbols: ___dso_handle 【发布时间】:2021-01-08 11:48:45 【问题描述】:

我想在 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 吗?

【问题讨论】:

【参考方案1】:

有一种解决方法可以在 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")

【讨论】:

@zeytin 什么 OSLog / XCode 的旧版本? 是的,现在有什么不同?

以上是关于OSLog Logger 在 XCode Playground 上不起作用:无法查找符号:___dso_handle的主要内容,如果未能解决你的问题,请参考以下文章

Swift:OSLog / os_log未显示在控制台应用中

xcodebuild 在调试级别不显示 OSLog 的输出

AFNetworkActivirty logger swift 3.0 xcode 8 不记录任何内容

Unity Google Play 游戏插件无法在 Xcode iOS 中编译

适用于 Android 的 Unity Google Play 游戏,Xcode 中出现 +200 错误

使用 Play 1.2.4 发布 JSON