creator2.2.2打包到iOS平台,模拟器正常,真机闪退问题

  • Creator 版本:2.2.2

  • 目标平台: iOS真机

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :2.0.9

  • 手机型号 :iphone6 与iphone7plus都会出现

  • 编辑器操作系统 :12.4.4与13.3

如上图所示:将以下两行代码注释,就可以正常运行
std::string networkStatusChange= cocos2d::StringUtils::format(“networkStatusChange(“1”);”);
se::ScriptEngine::getInstance()->evalString(networkStatusChange.c_str() , -1);

照理说应该在这个 PR 解决了:https://github.com/cocos-creator/cocos2d-x-lite/pull/1878。

我今天刚下载的2.2.2,然后是从2.0.9直接升级上来的,确实还会出现这个问题,有没有什么临时解决方案

monitoringNetwork 在什么时候回调用, 崩溃时必现还是偶发的?

在一运行就调用,是必现的崩溃


现在我加了个GCD,进行延迟处理就可以正常运行了

嗯, 应该是 JS环境没有初始化完成的问题

我这边会先这么处理,你们后期版本会安排修复吧?

evalString是有问题的,我这里跑evalString的时候,会报

[FATAL ERROR] location: EscapableHandleScope::Escape, message: Escape value set twice

但不会crash,如果再调用几次,就很容易crash了

2.2.2到底有没有这个崩溃问题哦?

这都2.3出来了,没见修复你这个

我也遇到了这个问题,麻烦官方康康啊

evalString 需要在游戏主线程中执行.
https://docs.cocos.com/creator/manual/zh/advanced-topics/oc-reflection.html#objective-c-执行-js-代码