2010-10-12 20 views
2

Actuellement, j'essaie d'accéder aux fichiers transférés en utilisant la nouvelle fonctionnalité iOS introduite avec 3.2.Accéder aux fichiers dans le dossier "Documents privés" transférés avec iTunes

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

Le problème est, cela fonctionne très bien dans le simulateur, mais sur mon iphone, le tableau files est vide.

Des idées pour accéder directement à ce répertoire?

Répondre

2

Le répertoire de la bibliothèque n'est pas accessible via iTunes et «Documents privés» se trouve dans ce répertoire de la bibliothèque. Les documents privés, sont, comme son nom l'indique, privés. Ils ne sont intentionnellement pas accessibles via iTunes.

Si vous souhaitez accéder aux documents répertoire (qui est accessible par itunes) remplacer

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

avec ceci:

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

EDIT: Accédez aux fichiers comme celui-ci.

- (NSString *)documentsDirectory { 
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 
} 

NSString *documentsDirectory = [self documentsDirectory]; 
NSArray *files = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:documentsDirectory error:&error]; 
+0

Si ce n'est pas dans des documents privés, où sont stockés les fichiers transférés? http://cl.ly/bfe32afa6e272ebc5d70 – choise

+0

ils sont dans le répertoire de documents. partout où vous avez obtenu cette chose privée, il a été utilisé pour quelque chose de complètement différent. –

+0

merci cela fonctionne très bien. était un tutoriel, je ne sais pas. – choise