昨天遇到一个问题,客户端版本升级后无法加载上一个版本打包好的AssetBundle,报错如下:
AssetBundle loading failed because the UIDragScrollView script serialization hash does not match. Supported: b6aac79f, loading: 508fb15d
错误很明显:打包好的AB中的UIDragScrollView脚本与当前使用的不一致。
于是我切换到上一版本把UIDragScrollView.cs拷出来跟当前版本的比较了一下发现完全一样,覆盖当前版本的UIDragScrollView后依然报错,又试了两次还是这样,Google了一圈也都跟我一样的想法。。
最后同事提醒我会不会是UIDragScrollView这个类引用的其他脚本变了,我才意识到因为某些需求,这个版本我把UIScrollView给改了,而UIDragScrollView恰好引用了UIScrollView,于是乎。。。
为了兼容,只好把修改后的UIScrollView改成UIScrollView_New,再把UIScrollView还原回去,就可以正常加载了。