请问动态合图在iOS原生平台可以正常使用吗?

如题,cocos creator版本2.4.2,已经添加了
cc.macro.CLEANUP_IMAGE_CACHE = false;
cc.dynamicAtlasManager.enabled = true;

但是在启动游戏的时候报如下错误:

ERROR: Uncaught TypeError: Cannot read property ‘length’ of null, location: jsb-adapter/jsb-builtin.js:0:0
STACK:
[0]_p.updateSubImage@jsb-adapter/jsb-builtin.js:7255
[1]drawTextureAt@src/cocos2d-jsb.js:13772
[2]insertSpriteFrame@src/cocos2d-jsb.js:36409
[3]insertSpriteFrame@src/cocos2d-jsb.js:36540
[4]packToDynamicAtlas@src/cocos2d-jsb.js:35780
[5]updateRenderData@src/cocos2d-jsb.js:40303
[6]_updateRenderData@jsb-adapter/jsb-engine.js:343
[7]RenderFlow.render@jsb-adapter/jsb-engine.js:6104
[8]render@src/cocos2d-jsb.js:36126
[9]mainLoop@src/cocos2d-jsb.js:7373
[10]callback@src/cocos2d-jsb.js:7608
[11]tick@jsb-adapter/jsb-builtin.js:2156

另外,在动态合图的文档里有这么一句话:
“”“注意这些代码请写在项目脚本中的最外层,不要写在 onLoad / start 等类函数中,才能确保在项目加载过程中即时生效。否则如果在部分贴图缓存已经释放的情况下才启用动态图集,可能会导致报错。”""

这个代码最外层怎么理解?我们整个项目的脚本入口就是一个组件。

出现问题的是一张2*2的贴图导致的。是引擎资源里面的。你要把它改掉就OK了。

意思是不要使用引擎internal的资源?

至少是不能用那个sprite上的默认白色的底图的。

可以,确实是这个问题