1.7.2 beta2
iOS 9.3.2
let picData = jsb.fileUtils.getDataFromFile(cc.url.raw(picPath));
文件确定是存在的,因为 jsb.fileUtils.isFileExist(cc.url.raw(picPath)) 返回 true
得到的是null
Android native下没有问题。是相同的代码。
1.7.2 beta2
iOS 9.3.2
let picData = jsb.fileUtils.getDataFromFile(cc.url.raw(picPath));
文件确定是存在的,因为 jsb.fileUtils.isFileExist(cc.url.raw(picPath)) 返回 true
得到的是null
Android native下没有问题。是相同的代码。
请提供复现demo
picPath的文件 是热更新来的。
我能想到的就是跟热更新相关,这个实现上要么是cc.url.raw有问题,要么就是getDataFromFile有问题,估计是相对路径绝对路径,或者搜索路径的问题。
你这样,排查一下。直接用 getDataFromFile 加载一个本地文件,看看会是null么?这样至少可以确定是不是getDataFromFile的问题。
亲,您怀疑的是,能劳驾您帮忙整理一个这样的复现demo发给我们么?谢谢您的反馈。
新鲜demo,请连接苹果真机调试测试 , 不是不想给你写demo,有事耽误,不然这个帖子我早就跟进了,督促你们尽快处理
NewProject.zip (399.9 KB)
而且代码就这几句,还需要demo。。。。。
let label = this.node.getChildByName('label').getComponent(cc.Label);
let picPath = 'resources/1.png';
let path = cc.url.raw(picPath);
let logPath = 'cc.url.raw: ' + path;
cc.log(logPath);
label.string = logPath;
let logExists = 'jsb.fileUtils.isFileExist: ' + jsb.fileUtils.isFileExist(path);
cc.log(logExists);
label.string += '\n' + logExists;
let picData = jsb.fileUtils.getDataFromFile(path);
cc.log(picData);
label.string += '\n' + picData;
麻烦尽快处理,应该是小问题,还可以放进1.8.1里
收到,我看看。尽管就几行代码,但是我们也不好猜测你到底是哪几行。所以demo也可以省去我们很多猜测时间。谢谢理解。
我这里完全正常:
我改了一行代码:
label.string += “\n” + picData.length;
否则文本太大导致,崩溃。改为label显示 数据长度。
我是在 iphone6 最新系统,cocos2d-x-lite 仓库 v1.8-release 分支验证的。
但是这块逻辑一直没变化。
你换个新版本iphone看看?
我去试试9.3.5的,理论上不应该。
嗯,我晚上测试下高版本,这会测试下ipad
赞一个,
我也遇到同样问题。
FileUtils::getDataFromFile - filename: /var/containers/Bundle/Application/58E448EB-E8A2-4635-8E23-1965E182586A/niuniuv2-mobile.app/res/Scenes/GameFightSceneCP2.csb, ret: 2
FileUtils::getContents - errno:24,errormsg:Too many open files
这是IOS 10.2真机测试。在运行一段时间就会CRASH。出现too many open files 有解决方法吗?
你这个不是同一个问题啊。