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