在未越狱IPhone上读写文件的问题

bjskyhorse 2012-03-28 07:49:38
目前有一个问题,我有Apple developer的ID,然后也制作了一个证书,把我的程序装到IPhone上(未越狱)了。程序的功能是
想在一个IPhone允许用户读写的目录下建立文件,然后对这个文件进行读写操作。
我发现无论我这个路径指定为var\mobile\还是private\var\mobile执行该程序均没有在相应目录下建立文件,还试了document,DCIM等目录也不行。
还按照这个方法试验也不行http://www.cnblogs.com/85538649/archive/2011/12/12/2284539.html。
此外,在iPhone根目录下面竟然没有Applications这个目录,是否隐藏了,可是我用91或者iTunes也无法查看隐藏目录啊。


我想知道,在未越狱的行货IPhone上实现我希望的功能,什么目录我才可以读写文件?
...全文
621 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dark_Jiang 2012-04-24
  • 打赏
  • 举报
回复
顶了,现在ios 貌似对安全性对开发者权限很少
Dark_Jiang 2012-04-24
  • 打赏
  • 举报
回复
顶了,觉得ios 这方面安全给开发者的权限还是很少的
无条件为你 2012-04-07
  • 打赏
  • 举报
回复
关注。替楼主把贴子顶上去。
bjskyhorse 2012-03-31
  • 打赏
  • 举报
回复
我有一个问题想问一下,同一个程序,在越狱版IPhone4,未越狱的联通版IPhone4,港行IPhone4,都是iOS5.01,会不会有差异?越狱对只调用音频接口的上层软件有没有差别?
bjskyhorse 2012-03-29
  • 打赏
  • 举报
回复
我现在有一个问题,就是如果我只是一个应用程序,现在是可以读写自己所在的document目录下的文件了。但是我现在是一个应用程序调用一个.a库,对文件的操作是在.a库里面进行的,这样又该如何?
多鱼的夏天 2012-03-29
  • 打赏
  • 举报
回复
application在这个目录下/var/mobile/Applications/

未越狱的iphone可以写自己Applications的Documents目录

看日志不要用91了,用organizer
PP1PP1PP2 2012-03-29
  • 打赏
  • 举报
回复
越狱的应该可以。
而且据我了解/Application(cydia安装)下安装的可以,appstore下安装的不行。
咸清 2012-03-29
  • 打赏
  • 举报
回复
但是我需要放到系统的目录下
人家系统允许吗?允许的肯定可以,不允许的就不可。
咸清 2012-03-29
  • 打赏
  • 举报
回复

//NSDictionary等类有这么一个方法
- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;

我一直这么用……
你给的链接说的不对,至少不完整。App不仅可以访问自己沙盒内部目录,还可以访问系统公开的一些目录,比如:图片库、云存储路径等。
PP1PP1PP2 2012-03-29
  • 打赏
  • 举报
回复
楼上的这种方式时放在document目录下,这个是可以的,但是我需要放到系统的目录下,而不是某一个应用的特定目录下,这个优点纠结,真不好实现。
咸清 2012-03-29
  • 打赏
  • 举报
回复

NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [documentPaths objectAtIndex:0];
NSString *TmpDoc = [NSString stringWithFormat:@"%@/Temp",documentDir];
if ([[NSFileManager defaultManager] fileExistsAtPath:TmpDoc]==YES) {
[[NSFileManager defaultManager] removeItemAtPath:TmpDoc error:nil];
}
[[NSFileManager defaultManager] createDirectoryAtPath:TmpDoc withIntermediateDirectories:YES attributes:nil error:nil];

bjskyhorse 2012-03-29
  • 打赏
  • 举报
回复
我用sandbox里面实例的方法创建了这个文件,然后再fopen它,结果返回失败,而且我用91助手查看 对应目录也没有生成文件

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory
, NSUserDomainMask
, YES);
NSLog(@"Get document path: %@",[paths objectAtIndex:0]);

NSString *fileName=[[paths objectAtIndex:0] stringByAppendingPathComponent:@"myFile"];
NSString *content=@"a";
NSData *contentData=[content dataUsingEncoding:NSASCIIStringEncoding];
if ([contentData writeToFile:fileName atomically:YES]) {
NSLog(@">>write ok.");
}
bjskyhorse 2012-03-29
  • 打赏
  • 举报
回复
我GOOGLE过sandbox的概念,我上面给的那个链接里的方法就是基于sandbox的,但是也不行;而且我那个testWrite的程序,安装之后,用iFunxBox或者91助手都在文件系统里面找不到这个应用。以前越狱版的是可以的
咸清 2012-03-29
  • 打赏
  • 举报
回复
请搜索 沙盒 查看其概念
咸清 2012-03-29
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

你保证不是干坏事儿?我知道我会,我不想说
[/Quote]
我是说 是一个应用程序调用一个.a库,对文件的操作是在.a库里面进行的,这样又该如何?
这个问题很简单,我知道。
bjskyhorse 2012-03-29
  • 打赏
  • 举报
回复
当然不是,LS的要是知道怎么回事赶快告诉我吧,谢谢。
咸清 2012-03-29
  • 打赏
  • 举报
回复
你保证不是干坏事儿?我知道我会,我不想说
bjskyhorse 2012-03-29
  • 打赏
  • 举报
回复
这个问题解决了,把以前.a文件里面的处理移到了应用程序里面。但是还有一个问题,我做了一个程序,通过音频口收发数据;之前在越狱版的IPhone上通过了,现在在未越狱版IPhone上试验,但是发现同样的程序,而且手机音量都放到最大,从示波器上看,发出的音频信号很弱,比在越狱版IPhone上发的音频信号要弱很多。
bjskyhorse 2012-03-28
  • 打赏
  • 举报
回复
而且我这名叫testWrite的程序,安装之后却在文件系统中找不到这个程序

29,027

社区成员

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

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