当前版本:v3.6.0
之前正常的版本 v3.5.0
系统:macOS 12.2.1
1.cc.sys.localStorage 导致构建失败,几乎所有挂在节点上的项目脚本都丢失了,而编辑器运行则没事。
构建过程中会提示一个警告:cc.sys.localStorage.getItem is not a function 。这里有一点令人费解,这里确实是看到一条警告,构建也确实是成功了,但是场景启动就说脚本丢失错误。我们排查了好久才怀疑这条警告(因为之前也有循环引用的警告,脚本构建后丢失,像极了循环引用导致的问题,所有优先尝试解决循环引用,最后发现问题没解决,才怀疑localStorage)。所以,这个警告似乎更应该改成错误吧,如果单纯的警告,但是又构建成功,并且还运行失败,多少会让人没法第一时间抓住重点。最后我们注释掉了localStorage相关代码,构建一切正常。。。。
2.还是这个localStorage的问题,在编辑器下提示[Scene] Warning: localStorage isn’t enabled. Please confirm browser cookie or privacy option。不知道这个需要在哪里设置才能去掉这个警告。
3.如果我们直接用 window.localStorage可以正常构建,运行也正常,但是编辑器会提示错误 [Scene] Error: Failed to read the ‘localStorage’ property from ‘Window’: Access is denied for this document.导致用到过关联脚本的组件脚本无法在 AddComponent 列表中找到,改成cc.sys.localStorage 就恢复正常了,但是cc.sys.localStorage会导致构建出来后无法正常运行。
这个localStorage的问题要怎么解决才行呢?
最后还有个问题想请教社区,有没有一种可能,咱们直接把3.x 的2d 项目降级倒2.x。目前感觉在选择版本的时候有点草率了,结合
1:选新不选旧
2:3.x 会持续迭代更新
3:2.x 会长期维护,但是会持续更新
4:团队持续开发新项目需要在编辑器版本上也有持续的更新,避免后续切换版本带来的额外不可控因素
最终选择了3.x
3.x 貌似在2d 方面并没有继承2.x,反而性能是下降的,就算是3.6,看了官方的对比图,在微信上,iosWechat 也弱了一大截。。。
3.6之前测试了那么久,正式发布就立马踩雷,多少让我们心里有点慌。。。不升级也不行,不升级就意味着3.5 2d 性能更差
