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(), 0);    
    }
#endif

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

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

原文地址:https://www.cnblogs.com/JD85/p/5276129.html