AssetsManagerEx的问题

1、这个是AssetsManagerEx的问题,在解压文件的时候没有创建目录,导致创建不了文件进行写入

下面是我加的 代码,你可以看一下
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这么比较,可以直接屏蔽这部分判断

你可能感兴趣的:(AssetsManagerEx的问题)