最近我的应用程序在尝试反序列化从服务器发送的JSON时崩溃,不幸的是服务器没有记录任何日志,因此我无法与它们进行验证。所以我决定记录这个特定Api的JSON响应,我知道记录服务器响应是一个不好的做法,但这是我尝试识别问题的唯一方法,这个api的响应不是很长,所以我认为应该没事。
当我尝试显示日志并发现它只在firebase控制台中显示一行时出现问题,如下所示:
raw response : {
我期待的结果如下所示,在使用CLSNSLogv进行开发时,vit在调试控制台中很好地显示出来。我认为它在firebase控制台中也是一样的但事实并非如此。
raw response : {
success ={
Status = OK;
Object1 = "test"
Object2 = "test2"
};
}
下面是日志记录的代码,“value”是一个字典如下:
value: [String : AnyObject]?
CLSLogv("raw response : %@", getVaList([value!]))
感谢您的帮助
您可以使用JSONSerialization将响应转换为JSON,然后删除所有回车符,使其全部为一行。如果您记录该修改后的值,它应该在Crashlytics日志中正确显示。
这是一个Crashlytics问题,我的团队最近一直在经历这个问题。我们在ObjC中使用CLS_LOG打印字典,我们注意到它只显示字典的第一行。
我联系了Crashlytics支持团队,一位来自那里的人确认了一个错误并告诉我他联系了他们的工程团队进行了修复。
您现在可以更改日志记录的方式,以单行显示所有内容,或按日志记录,或者您可以等待修复。