cocos2d-x iOS真机下载非根目录文件提示下载失败解决办法

时间:2023-03-09 00:10:51
cocos2d-x iOS真机下载非根目录文件提示下载失败解决办法

在使用cocos api的Downloader或者AssetsManager下载文件到真机Document目录时,如果是直接下载到document根目录,是没问题的,如果是下载存放到了某个不存在的子目录,比如Document/vvv/,这个vvv是不存在的,需要自己手动创建出来,不然可能会提示:

The file “CFNetworkDownload_Gd8iA6.tmp” doesn’t exist

下面代码可以在document内创建目录:

std::string localPath = FileUtils::getInstance()->getWritablePath()+"vvv/";
#if (CC_TARGET_PLATFORM != CC_PLATFORM_WIN32)

    DIR *pDir = NULL;
pDir = opendir (localPath.c_str());
if (! pDir)
{
mkdir(localPath.c_str(), S_IRWXU | S_IRWXG | S_IRWXO);
}
#else
if ((GetFileAttributesA(localPath.c_str())) == INVALID_FILE_ATTRIBUTES)
{
CreateDirectoryA(localPath.c_str(), );
}
#endif

或者使用cocos自身提供的api : FileUtils的  createDirectory(), 对应的删除目录方法也有写:  removeDirectory()

注意在对本地文件系统进行创建删除等操作时要区分下平台,比如mkdir ,rm,等命令是linux下的, windows平台不是这么写的。