Creator 小游戏 IOS 呼出控制中心后修改label.string报错

  • Creator 版本:v 1.8.1

  • 目标平台: iOS 微信小游戏

  • 详细报错信息:
    gameThirdScriptError
    undefined is not an object (evaluating ‘r.width’);at socketTask.onmessage callback function
    _calculateParagraphLength
    _calculateLabelFont
    _bakeLabel
    _updateLabel
    getContentSize
    _updateNodeSize
    _updateSgNodeString
    notify
    set
    t

e

emit

S
global code

  • 重现方式:
    1、创建一个socketServer每隔固定时间向client发送消息
    2、client端设置为每次收到消息之后修改固定已存在节点的Label组件的string属性
    3、将苹果控制中心呼出,等待收到一条消息
    4、关闭控制中心,打开vconsole,发现上报错

  • 手机型号 :iphone 7

  • 编辑器之前是否有其它报错 :无

  • 出现概率:100%

  • 额外线索:新创建预制资源修改string不会报错,但是把新节点添加到父节点上时会报错,貌似是修改已经存在节点的时候会报错

*额外问题:麻烦问一下大神苹果呼出/关闭控制中心有监听事件吗,微信的onHide等无法监听到此事件

我也出现这个问题,求解决方法,@jare @zilong

+1 @jare @zilong

试用过官方的21点项目,打开控制中心,然后关闭,关闭后快速点击一个按钮,按钮的onclick事件是将一个节点active置为true,也会报同样的错



上图为官方21点项目,右上角邮件图标按钮不好点击,被我拖了过了,剩下代码丝毫未动,打开控制中心,关闭,快速点击按钮,会有如图所示错误

顶一下 @jare @zilong

at socketTask.onmessage callback function

同上,不一定是控制中心。按home然后锁屏 待上一定时间 回来操作 即报错 。当前版本1.9.2.
另遇其他报错,如下

同遇到这个问题,暂时用&&规避了 好像没啥问题 , 不过还是得官方来解决源头的问题

cc_example.rar (464.9 KB)我也遇到这个问题了 求解决 已上传demo @jare @zilong

打包成wechat game 然后用苹果手机断网就会报错,安卓上没问题

这个问题一直存在,只要苹果切进去切出来就有几率出现,1.9.3为止的所有版本的cocos都发现了这个问题。 我觉得应该先渲染一帧就不会这个有问题了

我也遇到这个问题了,在小程序中切出去,然后等待大概20s左右返回小程序,就会有很大概率出现这个问题

@jare 这个问题是creator 2.0.0中我看到有修复 game show hide 不过下拉通知中心并没有接收到事件了

@jare我们需要你

@jare @zilong

使用 setTimeout(function(){}, 0) 试试,把你的逻辑放到setTimeout里面

子龙大佬 看来你们团队是有新人加入了么 称号升级了 能不能透露一下有什么计划

这个是引擎的bug么,什么时候能修复呢

这个 应该不算引擎的bug,微信的退后台回来后,调用某些api会失败,有时序问题,你把 webgl的操作延时一帧处理就可以了。