new jsb.Downloader 下载时在 Ios 系统报错

var downloader = new jsb.Downloader();

downloader.setOnTaskError(function (task, errorCode, errorCodeInternal, errorStr) {
    if (self.utils.isFunction(errorCallback)) {
        errorCallback(errorCode, errorCodeInternal, errorStr);
    }
});

downloader.setOnTaskProgress(function (task, bytesReceived, totalBytesReceived, totalBytesExpected) {
    if (self.utils.isFunction(progressCallback)) {
        progressCallback(bytesReceived, totalBytesReceived, totalBytesExpected);
    }
});

downloader.setOnFileTaskSuccess(function (task) {
    if (self.utils.isFunction(completedCallback)) {
        completedCallback();
    }
});

downloader.createDownloadFileTask(url, savePath, "downloadapks");

总是会进 setOnTaskError 的回调函数,errorCode 为 -2,errorCodeInternal 为4,errorStr为 文件"CFNetworkDownload_xxxxx.tmp"不存在,同样的代码在安卓端是可以进 setOnFileTaskSuccess 设置的回调函数的。

版本 2.4.7

好吧,自己瞎弄好了,保存文件的目录文件夹必须存在,不存在就会报这个错

jsb.fileUtils.createDirectory(savePath);

调用一下上面这个代码就好了

2赞