2010-03-22 7 views
4

J'ai un fichier plist dans mon groupe de ressources dans xcode. J'essaye de copier ceci dans mon annuaire de documents sur le lancement d'application. Je suis en utilisant le code suivant (tiré d'un tutoriel sqlite):Plist ne copiera pas dans le répertoire de documents

BOOL success; 
NSError *error; 

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *filePath = [documentsDirectory stringByAppendingString:@"ActiveFeedsPlist.plist"]; 

success = [fileManager fileExistsAtPath:filePath]; 
if (success) return; 

NSString *path = [[[NSBundle mainBundle] resourcePath] stringByAppendingFormat:@"ActiveFeedsPlist.plist"]; 
success = [fileManager copyItemAtPath:path toPath:filePath error:&error]; 

if (!success) { 
    NSAssert1(0, @"Failed to copy Plist. Error %@", [error localizedDescription]); 
} 

Je me donne l'erreur "*** Mettre fin application en raison d'une exception non interceptée « NSInternalInconsistencyException », raison. « Impossible de copier Plist Opération d'erreur n'a pas pu être complétée, mais aucun fichier ou répertoire "" dans la console.

Une idée de ce qui ne va pas?

Merci

Répondre

10

Vous manque un séparateur de fichier:

... stringByAppendingString:@"/ActiveFeedsPlist.plist"]; 

ou, mieux, utilisez:

... stringByAppendingPathComponent:@"ActiveFeedsPlist.plist"]; 
+1

ou stringByAppendingPathComponent: @ "ActiveFeedsPlist.plist" – dstnbrkr

+1

Dans ce cas, il vaudrait mieux utiliser '-stringByAppendingPathComponent:'. (D'oh, battu par une minute!) – Wevah

+1

@dbarker, grands esprits! LOL Je montais avec ça en même temps que tu publiais le commentaire. – nicerobot

Questions connexes