IOS 随机崩溃

  • Creator 版本:1.8,自定义引擎
    merge了
    cocos2d-lite 1.8release a9ef7a035046290e556b213e4131bfd0e47db291
    engine 1.8release 82f36b54002f3ba8a5a714c860856b9bcf1b48f3
    的最新代码

  • 目标平台: iOS

  • 详细报错信息,包含调用堆栈:
    错误应该是个访问违例,堆栈如下,不太熟XCODE,不知道怎么复制文本,只好截图了

  • 重现方式:
    UI上做了action动画,反复切换UI,有较低概率出错,结合堆栈应该是
    类似这样的代码报的错,debug版很难复现,release版反复点击切换UI,大概半小时会出现
    let move = cc.moveTo(this.autoSwapDuration, this.getSwapToPosition(index));
    let callback = cc.callFunc(this.onSwapFinished, this);
    this.content.node.runAction(cc.sequence(move, callback));

  • 出现概率:低

  • 额外线索:但不排除是其它功能调用类似代码引起的,因为这个UI切换会牵涉到"地图"加载
    (不是scene,是动态组合的地图)

@dumganhar

我们也有很多,所有这些崩溃都有cc.sequece

自己顶一下,召唤大神 @dumganhar @panda @jare

等回复 +2

遇到类似问题,release 包随机闪退.也是切换界面有加载资源.

+1, release包有这种问题,很早就发帖了,没人理睬
http://forum.cocos.com/t/1-8-1-ios-ipad/55690/

看日志,不属于同一个问题。

能写个快速自动切换的逻辑么?最好能给我代码调试分析一下,不然实在不知道如何分析此问题。

不是同一个原因,也麻烦看看。。

建了个issue:
https://github.com/cocos-creator/cocos2d-x-lite/issues/1106
有修复会同步在这里。

callback函数里面,你切换ui有没有销毁里面的变量,然后使用了?

这个问题已修复,请帮忙合并这个补丁验证一下:

https://github.com/cocos-creator/cocos2d-x-lite/pull/1114

抱歉,漏考虑到一个问题。
重新提交了个PR:

https://github.com/cocos-creator/cocos2d-x-lite/pull/1115

可以下载
https://raw.githubusercontent.com/cocos-creator/cocos2d-x-lite/v1.8-release/cocos/scripting/js-bindings/manual/jsb_cocos2dx_manual.cpp

替换一下。

修改为: