我正在阅读一些关于如何构建简单应用程序的 Swift 教程,因为我刚刚开始编写代码。我想让我的应用程序与 iOS 9 兼容,因为我有一个 iPad 3。但是,所有os.log
语句都会在 Xcode 中生成一个错误,告诉我if #avaliable
在任何语句之前添加一个os.log
语句。os.log 有什么作用,如果我需要它,使用if #avaliable
iOS 9 兼容性声明是否存在问题?如果不是,iOS 9 在else
语句之后的if #avaliable
语句中的等效代码是什么?谢谢。
问问题
8730 次
1 回答
8
来自苹果的文档:
统一日志记录在 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)
}
于 2017-06-01T19:36:37.613 回答