目前有一个问题,我有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上实现我希望的功能,什么目录我才可以读写文件?

解决方案 »

  1.   

    而且我这名叫testWrite的程序,安装之后却在文件系统中找不到这个程序 
      

  2.   

    我GOOGLE过sandbox的概念,我上面给的那个链接里的方法就是基于sandbox的,但是也不行;而且我那个testWrite的程序,安装之后,用iFunxBox或者91助手都在文件系统里面找不到这个应用。以前越狱版的是可以的
      

  3.   

    我用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.");
        }
      

  4.   


    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];
      

  5.   

    楼上的这种方式时放在document目录下,这个是可以的,但是我需要放到系统的目录下,而不是某一个应用的特定目录下,这个优点纠结,真不好实现。
      

  6.   


    //NSDictionary等类有这么一个方法
    - (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;我一直这么用……
    你给的链接说的不对,至少不完整。App不仅可以访问自己沙盒内部目录,还可以访问系统公开的一些目录,比如:图片库、云存储路径等。
      

  7.   

    越狱的应该可以。
    而且据我了解/Application(cydia安装)下安装的可以,appstore下安装的不行。
      

  8.   

    application在这个目录下/var/mobile/Applications/未越狱的iphone可以写自己Applications的Documents目录看日志不要用91了,用organizer
      

  9.   

    我现在有一个问题,就是如果我只是一个应用程序,现在是可以读写自己所在的document目录下的文件了。但是我现在是一个应用程序调用一个.a库,对文件的操作是在.a库里面进行的,这样又该如何?
      

  10.   

    这个问题解决了,把以前.a文件里面的处理移到了应用程序里面。但是还有一个问题,我做了一个程序,通过音频口收发数据;之前在越狱版的IPhone上通过了,现在在未越狱版IPhone上试验,但是发现同样的程序,而且手机音量都放到最大,从示波器上看,发出的音频信号很弱,比在越狱版IPhone上发的音频信号要弱很多。
      

  11.   

    我有一个问题想问一下,同一个程序,在越狱版IPhone4,未越狱的联通版IPhone4,港行IPhone4,都是iOS5.01,会不会有差异?越狱对只调用音频接口的上层软件有没有差别?
      

  12.   

    顶了,觉得ios 这方面安全给开发者的权限还是很少的
      

  13.   

    顶了,现在ios 貌似对安全性对开发者权限很少