Crashlytics日志中getVaList传入参数无法显示问题求助
解决CLSLogv可变参数不显示的问题
嘿,我刚碰到过类似的坑,其实是你对CLSLogv的用法理解有点偏差!
CLSLogv的第一个参数是格式化字符串,第二个va_list里的参数必须和格式化字符串中的占位符一一对应,才会被Crashlytics解析并显示在日志里。你现在只传了"Button1"作为格式字符串,没有任何占位符,系统根本不知道要怎么处理后面的[1,2,3]参数,自然就不会显示啦。
正确用法示例
修改你的调用代码,给格式字符串加上对应的占位符:
CLSLogv("Button1: %d, %d, %d", getVaList([1,2,3]))
这样日志里就会完整显示Button1: 1, 2, 3了。
结合你的代码片段调整
如果是在ViewController的viewDidLoad里调用,完整代码应该是这样:
import UIKit import Crashlytics class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // 正确的CLSLogv调用方式 CLSLogv("Button1: %d, %d, %d", getVaList([1,2,3])) // 或者用更简便的CLSLog(上层封装,无需手动处理va_list) CLSLog("Button1", 1, 2, 3) } }
额外小提示
如果只是普通的日志输出,推荐用CLSLog代替CLSLogv——前者是对后者的封装,不需要手动构建va_list,直接传参数就行,省心很多。
内容的提问来源于stack exchange,提问作者curious
相关产品推荐
相关产品推荐

