本人在ipad上使用cocos2d-x开发工程,使用c++与object-c结合的形式开发
程序需要通过网络进行更新数据。
在模拟器环境中,创建文件夹与文件均可正常执行。
但在真机环境中,读取文件正常,但无法创建文件夹与文件 尝试过objectc方式与c++方式,都不能够创建。怀疑是权限问题,有解决过这个问题的朋友希望帮忙解决一下,谢谢了。在线等。
程序需要通过网络进行更新数据。
在模拟器环境中,创建文件夹与文件均可正常执行。
但在真机环境中,读取文件正常,但无法创建文件夹与文件 尝试过objectc方式与c++方式,都不能够创建。怀疑是权限问题,有解决过这个问题的朋友希望帮忙解决一下,谢谢了。在线等。
library
tmp
BOOL bRet = [writer writeToFile:[NSString stringWithUTF8String:szFileName] atomically:YES];
//bRet 为 FALSE 未成功写入文件FILE *pFile = fopen(szFileName, "w");
//pFile 为 NULL 为成功写入文件szFileName中的值:/var/mobile/Applications/8205B9DD-A503-4B75-8792-AD760753B4E1/Documents/Data/Pid00001/0.jpg
确认过文件夹确实存在,模拟器上可以成功写入文件,但是真机不行。
还是无法创建文件
char* getFullPathName(char *szSubPath,char *szOutBuff)
{
NSString *path = [NSTemporaryDirectory() stringByAppendingPathComponent:
[[[NSString alloc] initWithUTF8String:szSubPath]autorelease]];
NSUInteger len = [path length];
memcpy(szOutBuff, [path UTF8String], strlen([path UTF8String]));
szOutBuff[len] = '\0';
return szOutBuff;
}
如
char szFileName[MAX_PATH];
getFullPathName("Data/Pid00001/0.jpg",szFileName);
在内存中打印结果为:
/private/var/mobile/Applications/8205B9DD-A503-4B75-8792-AD760753B4E1/tmp/Data/Pid00001/0.jpg
标红文件夹是否有文件写入权限, 或者把 /Data/Pid00001/0.jpg 都拼成 _Data_Pid00001_0.jpg, 直接写入DOC根目录, 把文件名当路径用.
NSString *homeDirectory = NSHomeDirectory();
//获取tmp目录的地址
NSString *tmpDirectory = [homeDirectory stringByAppendingPathComponent:@"tmp"];
ios开发超级群,高手和高手之间的交流,来者注明来自CSDN:43146334
另外发现documents路径下虽然可以写入文件,但是不允许删除。
也没有发现怎么样可以去建立一个有权限读、写、删文件的文件夹
明天用tmp文件夹试试能不能删除文件