What is os.log for?



我正在浏览一些有关如何构建简单应用程序的快速教程,因为我刚刚开始编码。我想使我的应用iOS 9兼容,因为我有一个iPad3。但是,所有os.log语句都会在Xcode中生成一个错误,该错误告诉我在任何os.log语句之前都添加if #avaliable语句。OS.LOG做什么,如果需要的话,是否使用iOS 9兼容性的if #avaliable语句会有问题?如果不是,则在if #avaliable语句之后的else语句中,iOS 9的等效代码是什么?谢谢。

来自苹果的文档:

iOS 10.0及以后的MacOS 10.12和 后来,TVOS 10.0及以后,以及Watchos 3.0及以后 ASL(Apple System Logger(和Syslog API。从历史上看,日志 消息写在磁盘上的特定位置,例如 /etc/system.log。统一记录系统将消息存储在内存中 在数据存储中,而不是写入基于文本的日志文件。

没有ios9等效。您可以使用Cocoalumberjack等第三方记录工具,该工具非常受欢迎。

作为如何使用此记录的具体示例:

if #available(iOS 10.0, *) {
    let bundleID:String = Bundle.main.bundleIdentifier ?? "unknown"
    let oslog = OSLog(subsystem: bundleID, category: "Model")
    os_log("%@", log: oslog, type: .info, message)
}

最新更新