ipad文件读写权限问题

旋风猴 2012-08-05 05:41:47
本人在ipad上使用cocos2d-x开发工程,使用c++与object-c结合的形式开发
程序需要通过网络进行更新数据。
在模拟器环境中,创建文件夹与文件均可正常执行。
但在真机环境中,读取文件正常,但无法创建文件夹与文件 尝试过objectc方式与c++方式,都不能够创建。怀疑是权限问题,有解决过这个问题的朋友希望帮忙解决一下,谢谢了。在线等。
...全文
904 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
旋风猴 2012-08-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

这和编程语言没有关系,你查查哪些目录ios允许你创建就可以了,系统这么设计的。除非你越狱了就畅通无阻了。
[/Quote]
关键就是没查到这个。。。不然就不问了
旋风猴 2012-08-10
  • 打赏
  • 举报
回复
发现问题了,documents下是可以写入文件的,但是自己建立的文件夹没有写入文件的权限。
另外发现documents路径下虽然可以写入文件,但是不允许删除。
也没有发现怎么样可以去建立一个有权限读、写、删文件的文件夹
明天用tmp文件夹试试能不能删除文件
ahopedog 2012-08-08
  • 打赏
  • 举报
回复
//获取程序的根目录
NSString *homeDirectory = NSHomeDirectory();
//获取tmp目录的地址
NSString *tmpDirectory = [homeDirectory stringByAppendingPathComponent:@"tmp"];


ios开发超级群,高手和高手之间的交流,来者注明来自CSDN:43146334
ixfly 2012-08-07
  • 打赏
  • 举报
回复
/private/var/mobile/Applications/8205B9DD-A503-4B75-8792-AD760753B4E1/tmp/Data/Pid00001/0.jpg,一个是你获取这个路径的过程太复杂,另外这个路径是否存在?
旋风猴 2012-08-06
  • 打赏
  • 举报
回复
szFileName 是我自己组的,在模拟器上是可以用的,组合路径函数如下:
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
ixfly 2012-08-06
  • 打赏
  • 举报
回复
把你的szfilename怎么来的贴出来
旋风猴 2012-08-06
  • 打赏
  • 举报
回复
尝试了temp路径:/private/var/mobile/Applications/8205B9DD-A503-4B75-8792-AD760753B4E1/tmp/Data/Pid00001/0.jpg
还是无法创建文件
旋风猴 2012-08-06
  • 打赏
  • 举报
回复
经验证文件夹可以创建,但是文件不能写入,写入位置指定在app下的documents目录中,模拟器就可以,真机不行。尝试过如下2种办法:
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
确认过文件夹确实存在,模拟器上可以成功写入文件,但是真机不行。
tubo_true 2012-08-06
  • 打赏
  • 举报
回复
app下的你自己的目录

document
library
tmp
Proteas 2012-08-06
  • 打赏
  • 举报
回复
建议单独建立一个测试工程来测试文件的读写。
六十六 2012-08-06
  • 打赏
  • 举报
回复
检查:/var/mobile/Applications/8205B9DD-A503-4B75-8792-AD760753B4E1/Documents/Data/Pid00001/0.jpg
标红文件夹是否有文件写入权限, 或者把 /Data/Pid00001/0.jpg 都拼成 _Data_Pid00001_0.jpg, 直接写入DOC根目录, 把文件名当路径用.

ixfly 2012-08-05
  • 打赏
  • 举报
回复
这和编程语言没有关系,你查查哪些目录ios允许你创建就可以了,系统这么设计的。除非你越狱了就畅通无阻了。
ixfly 2012-08-05
  • 打赏
  • 举报
回复
看你在哪创建文件夹与文件。document文件夹你是有权限任意处置的。好像还有一两个目录你都是可以任意处置的。但是这些目录都在你的app下面。别的目录你就没这个权限了。
先锋Android Market CMS内容管理系统是基于先锋CMS系统开发而成的一套安卓应用市场管理系统,继承了先锋CMS智能人性、简单易用、安全高效的特点。   1、智能人性、简单易用、安全高效:先锋AndroidMarket CMS内容管理系统(后面简称XF-AMCMS)采用PHP5 MYSQL做为技术基础进行开发。XF-AMCMS采用OOP(面向对象)方式进行基础运行框架搭建,模块化开发方式做为功能开发形式,采用b/s三层结构开发的内容管理系统,安全特性和功能对各种攻击方式进行全方位的防范。 2、高负载功能:一个网站负载功能在网站访问量或内容量巨大时至关重要。XCMS提供了多种的缓存方式,包括数据缓存、静态缓存和查询缓存等,支持包括文件方式、APC、Db、Memcache、Shmop、Sqlite、Redis、Eaccelerator和Xcache在内的动态数据缓存类型,以及可定制的静态缓存规则,并提供了快捷方法进行存取操作。并且支持分布式数据库部署,包括主从式数据库的分离。 3、样式和内容分离:系统主体框架div css结构,遵循国际最新W3C网页设计标准,兼容IE系列、火狐等主流浏览器,内容和样式分离让网站风格可以轻松修改和更换,而不会导致内容和结构的破坏。 4、周密的安全策略和攻击防护:表单令牌机制、字段类型验证、输入过滤、上传安全过滤、防止XSS攻击和目录安全保护等功能,对SQL参数进行敏感字符过滤、对密码、cookie进行了不可逆加密处理,数据库备份功能、对管理员权限的自由分配等,在方方面面保证了系统的安全和稳定。 5、模型自定义:通过模型自定义功能,可以自己设置出适合不同场景的内容模型。比如针对iPhone应用下载模型或者针对iPad的应用下载模型 6、内容静态化:极速的内容静态化速度,节省你不必要的时间 7、APK包信息自动获取:每一个应用包里面都包含了包名、版本号、版本Code、系统SDK版本等信息,这些信息关系到版本升级,用户的手机是否适合使用,所以是至关重要的,也是Android Market必备的一项功能。 8、专题推荐:专题是网站运营必备的功能之一。 9、多端一体化:提供Native App模式的Android手机客户端和Android平板客户端。        相关阅 同类推荐:cms系统

29,031

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧