访问使用iTunes传输的“私人文档”文件夹中的文件

目前我正试图访问使用3.2中引入的新iOSfunction传输的文件。

- (NSString *)getPrivateDocsDir { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; documentsDirectory = [documentsDirectory stringByAppendingPathComponent:@"Private Documents"]; NSError *error; [[NSFileManager defaultManager] createDirectoryAtPath:documentsDirectory withIntermediateDirectories:YES attributes:nil error:&error]; return documentsDirectory; } // and then in a method NSString *documentsDirectory = [self getPrivateDocsDir]; NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:&error]; 

问题是,这在模拟器中工作正常,但在我的iPhone上, files数组是空的。

任何想法如何直接访问此目录?

Library-Directory不能通过iTunes访问,而“Private Documents”在这个库目录中。 私人文件,顾名思义就是私人的。 他们故意无法通过iTunes访问。

如果你想访问的文件目录(这是通过iTunes可访问)取代这一点

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); 

有了这个:

 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

编辑:像这样访问文件。

 - (NSString *)documentsDirectory { return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; } NSString *documentsDirectory = [self documentsDirectory]; NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:&error];