游戏的热更新,我使用的是AssetManager,下载,解压都没有问题,但是在删除更新包的时候却始终删除不了。我看了下源码,是这么写的
if (remove(zipfileName.c_str()) != 0)
{
CCLOG("can not remove downloaded zip file %s", zipfileName.c_str());
}
remove是删除指定的文件,我换了其他txt文件,png文件删除,都没有问题,唯独到了zip文件就是删除不了,请问有什么解决方案吗?
另外还有一个问题,版本更新的时候的版本号检测
if (recordedVersion == _version)
{
sendErrorMessage(kNoNewVersion);
CCLOG("there is not new version");
// Set resource search path.
setSearchPath();
return false;
}
为什么是等于,不应该是检测本地文件的版本号是否小于等于吗,如果仅仅是等于,那么无论服务器的版本号比当前玩家手机的版本号大还是小,都会触发补丁更新。版本就应该是越更越新,版本号也会越来越大,这是cocos的缺陷吗?
再加一个问题,zip包路径的修改,使用AssetManager删除压缩包的时候
void AssetsManager::checkStoragePath()
{
if (_storagePath.size() > 0 && _storagePath != '/')
{
_storagePath.append("/");
}
}
为什么要在这里加个/?我删除的时候路径就变成这样E:\svn\shouyou1\ /cocos2dx-update-temp-package.zip,原本我以为是路径出错导致删除不了,我把路径重新修改了下,变成E:\svn\shouyou1\cocos2dx-update-temp-package.zip,依旧删除失败,求大神