J'essaie de copier certains fichiers de mon ensemble d'applications vers le répertoire de documents lors du premier lancement. J'ai les contrôles en place pour le premier lancement, mais ils ne sont pas inclus dans l'extrait de code pour plus de clarté. Le problème est que je copie dans le répertoire des documents (qui existe déjà) et dans la documentation, il est dit que:iPhone (iOS): copie de fichiers de l'ensemble principal vers l'erreur de dossier de documents
dstPath ne doit pas exister avant l'opération.
Quelle est la meilleure façon pour moi d'obtenir la copie directement à la racine des documents? La raison pour laquelle je veux faire ceci est de permettre le support de partage de fichiers iTunes.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSString *documentsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *sourcePath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"Populator"];
NSLog(@"\nSource Path: %@\nDocuments Path: %@", sourcePath, documentsDirectory);
NSError *error = nil;
if([[NSFileManager defaultManager] copyItemAtPath:sourcePath toPath:documentsDirectory error:&error]){
NSLog(@"Default file successfully copied over.");
} else {
NSLog(@"Error description-%@ \n", [error localizedDescription]);
NSLog(@"Error reason-%@", [error localizedFailureReason]);
}
...
return YES;
}
Merci
Merci pour la réponse, mais ce n'est pas ce que je veux faire. Ce que je veux faire est de copier le contenu du dossier Populator vers la racine des répertoires (pas un dossier appelé Populator dans la racine des documents). Ce que vous dites de faire fonctionne, mais ce n'est pas ce que je veux accomplir. – Jack
Merci beaucoup, le malentendu était presque certainement ma faute. J'utilise ce code pour une application iPad, je vais donc cibler iOS 3.2, même si cela finira par supporter iOS4. Merci pour votre code, aucune idée de comment le faire fonctionner pour 3.2 (sans blocs)? – Jack
J'ai ajouté du code en utilisant l'énumération rapide. la solution de blocs était plus pour m'exercer - les blocs sont un nouveau concept pour moi. – Vladimir