2026/10/27 17:43:29
本地日志
适用于 Fastboard iOS SDK 1.4.6(依赖 Whiteboard 2.16.145)。
iOS 已内嵌日志运行时,通过 Native 配置开启。
创建 SDK 前开启
Swift
let logs = WhiteLocalLogOptions()
logs.enabled = true
logs.enabledUpload = true
config.whiteSdkConfiguration.localLogOptions = logs
// config 为 FastRoomConfiguration,在创建 FastRoom 前设置。
状态与按需上报
Swift
// FastRoom 的 whiteSDK 已创建且宿主有效时调用。
fastRoom.whiteSDK.getLocalLogState { result, error in
print(result as Any, error as Any)
}
fastRoom.whiteSDK.uploadLocalLogs { result, error in
print(result as Any, error as Any)
}
状态查询用于确认运行时是否可用;配置 enabled=true 仍需结合状态确认,不能只据配置判断落盘成功。collectLocalLogsWithCompletionHandler: 收集导出结果,不等价于上传;flushLocalLogsWithCompletionHandler: 等待缓冲写入;uploadLocalLogsWithCompletionHandler: 触发上传,需要等待结果并处理失败。enabledUpload=false 时可以保留本地写入而关闭上传。
Swift
fastRoom.commonDelegate = self // 宿主实现 WhiteCommonCallbackDelegate。
func localLogStateChange(_ state: [AnyHashable: Any]) {
print(state)
}
使用 commonDelegate 代理接收事件,保持宿主存活并避免覆盖内部 WhiteSDK delegate。
建议在错误反馈流程中按需收集/上传,记录结果并限制重复触发。自定义上传参数和返回字段以客户端 /api-ref/fastboard/ios/fastboard-api为准;不要把不同平台的回调对象当作相同模型解析。
iOS 12 及以下版本会强制关闭本地日志写入与上传,以规避 WKWebView Worker IndexedDB 的兼容问题;应读取状态确认可用性。