打包iOS不勾选调试模式,热更后报错,勾选调试模式,热更后正常显示

  • Creator 版本: v2.2.2

  • 目标平台:iOS

  • 重现方式:不勾选调试模式

  • 报错: ERROR] (/Applications/CocosCreator.app/Contents/Resources/cocos2d-x/cocos/scripting/js-bindings/jswrapper/v8/Object.cpp, 562): Invoking function (0x283c41020) failed!

ERROR: Uncaught TypeError: Cannot set property ‘active’ of undefined, location: src/cocos2d-jsb.js:0:0

STACK:

[0]dealReviewView@src/project.js:28603

[1]anonymous@src/project.js:15350

[2]start@src/project.js:63639

[3]anonymous@src/cocos2d-jsb.js:21940

[4]start@src/project.js:28831

[5]anonymous@src/cocos2d-jsb.js:21940

[6]anonymous@(no filename):3

[7]anonymous@src/cocos2d-jsb.js:11112

[8]invoke@src/cocos2d-jsb.js:11075

[9]startPhase@src/cocos2d-jsb.js:11202

[10]mainLoop@src/cocos2d-jsb.js:6482

[11]t@src/cocos2d-jsb.js:6715

[12]tick@jsb-adapter/jsb-builtin.js:2006

  • 重现概率: 必现

@jare 求助啊大佬

在build文件夹下,有个usefull debug文件夹,找到 src/project.js:28603行,看一下执行active的node为什么会空。
另外你这个问题绝对和调试模式无关。

报错的部分确实跟调试模式无关,它走的是热更之前的代码,热更里的代码这里的报错已经改好了,但是不勾选调试模式,热更之后,修改的似乎没有作用,勾选了调试模式,热更之后就可以正常运行 :rofl:

相当于热更只是把场景文件啥的替换了,但是js文件没有替换,结果就导致了这个报错

你先用官方的helloworld工程做测试 然后替换一个 资源和一个脚本,看是否正常 ,就是先不用你自己的工程 , 看看结果如何

你更新下来的资源 打包的时候是否选择的是调试模式

好的,我试试

我也觉得是这个原因

我是接手的项目,同样是不勾选调试模式,内网热更后报错,外网热更后正常,应该就是跟你说的一样,项目在一开始做热更打包时是有区分了是否选择调试模式。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。