1、这个是AssetsManagerEx的问题,在解压文件的时候没有创建目录,导致创建不了文件进行写入
下面是我加的 代码,你可以看一下
AssetsManagerEx.cpp 337行
下面是我加的 代码,你可以看一下
AssetsManagerEx.cpp 337行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
// Check if this entry is a directory or a file.
const
size_t
filenameLength =
strlen
(fileName);
if
(fileName[filenameLength-1] ==
'/'
)
{
//There are not directory entry in some case.
//So we need to create directory when decompressing file entry
if
( !_fileUtils->createDirectory(basename(fullPath)) )
{
// Failed to create directory
CCLOG(
"AssetsManagerEx : can not create directory %s\n"
, fullPath.c_str());
unzClose(zipfile);
return
false
;
}
}
else
{
//新加的代码
std::string dir = basename(fullPath);
if
(!_fileUtils->isDirectoryExist(dir)) {
if
(!_fileUtils->createDirectory(dir)) {
// Failed to create directory
CCLOG(
"AssetsManagerEx : can not create directory %s\n"
, fullPath.c_str());
unzClose(zipfile);
return
false
;
}
}
这个问题3.12版本有,到后面3.14.1版本发现cocos官方已修复这个问题。
2、跟远程服务器比较版本问题
if (strcmp(_localManifest->getVersion().c_str(), cachedManifest->getVersion().c_str()) > 0)
这行代码,比如1.0.9 和 1.0.10比较就会出现版本判断错误问题,不能用strcmp这么比较,可以直接屏蔽这部分判断
|