夜雨聆风学习资料网

ARTICLE · 1194478

iOSXcode升级后Newtonsoft协议解析JSON报错

iOSXcode升级后Newtonsoft协议解析JSON报错

进公会模块一收包,iOS 直接崩在 Newtonsoft 解析上。

排查一圈发现,只有 IL2CPP + Xcode26 会炸。Android、旧版 iOS 全正常。一开始以为是链接器把元数据剥了,试了三种 link.xml 保留方案,出包照崩不误。

读导出的 C++ 代码才找到真凶。GetMethods() 返回的数组里居然混进了 null 元素。Newtonsoft 拿到后直接调用方法,连个空值检查都没有,当场 NRE。

修复全用 #if !UNITY_EDITOR && UNITY_IOS 包住,绝不碰安卓编译路径。新增了个 SafeContractResolver,重写创建合约的方法,抓到空引用就降级处理——只扫属性,跳过回调扫描。

被跳过的 [OnDeserialized] 逻辑,改成懒加载 getter 兜底。进公会复测,真机不再崩溃,安卓端也完全没受影响。

原文iOS Xcode26 升级后 Newtonsoft 协议 JSON 解析 NRE 排查与修复
江苏,3小时前,

相关学习资料