访问使用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];