Closed bilibili11 closed 3 months ago
你用的应该是V3.0+版本吧? 请升级最新版本,该问题已经解决。 问题出现在 LogCache中字典的使用问题上。 同时多个解析发生时,导致非线程安全的字典的读写出现了问题。
当前使用的是SmartCodable (4.1.1)版本,崩溃手机系统为17.5.1,感谢您的回答
可否帮在你的podlfile.locck中中确定一下版本号。 因为: 2 SmartCodable 0x3b904 specialized static SmartLog.printCacheLogs(in:) + 73 (SmartLog.swift:73) 这个方法,在新的版本中才改的,在V4.1.1版本上它的位置应该是这样的。
如果方便加一下我的QQ: 562863544
V4.1.2已修改该问题。 该问题是高并发下日志记录使用的字典线程处理上出现了问题。
有两处崩溃,但是崩溃数量非常少,我也没有查到到底是哪种情况 1: 0 SmartCodable 0x18080 LogCache.alignTypeNamesInAllSnapshots() + 156 (LogCache.swift:156) 1 SmartCodable 0x16e40 LogCache.formatLogs() + 31 (LogCache.swift:31) 2 SmartCodable 0x3b904 specialized static SmartLog.printCacheLogs(in:) + 73 (SmartLog.swift:73) 3 SmartCodable 0x30520 SmartJSONDecoder.decode(_:from:) + 55 (SmartJSONDecoder.swift:55)
2: 0 SmartCodable 0x298bc specialized _NativeDictionary._insert(at:key:value:) + 40 (:40)
1 SmartCodable 0x18d60 specialized Dictionary.Variant.setValue(:forKey:) + 192 (:192)
2 SmartCodable 0x16c1c LogCache.cacheLog(:className:) + 145 (LogCache.swift:145)
3 SmartCodable 0x36df4 logInfo #1 () in SmartJSONKeyedDecodingContainer.smartDecode (forKey:entry:) + 920
4 SmartCodable 0x366a0 SmartJSONKeyedDecodingContainer.smartDecode(forKey:entry:) + 256
(SmartJSONKeyedDecodingContainer+decode.swift:256)
5 SmartCodable 0x34838 SmartJSONKeyedDecodingContainer.decode( :forKey:) + 25 (SmartJSONKeyedDecodingContainer+decode.swift:25)
6 SmartCodable 0x31a2c protocol witness for KeyedDecodingContainerProtocol.decode(_:forKey:) in conformance SmartJSONKeyedDecodingContainer + 28 (:28)