43 votes

accéder à un fichier à l'aide de [NSBundle mainBundle] pathForResource: ofType: inDirectory:

j'ai un fichier "paylines.txt" ajouté dans le dossier nommé "TextFiles" qui réside dans le dossier Resources de mon projet ios dans le Xcode

c'est mon code pour accéder au fichier

 NSString* filePath = [[NSBundle mainBundle] pathForResource:@"paylines" ofType:@"txt" inDirectory:@"TextFiles"];
NSLog(@"\n\nthe string %@",filePath);
 

ce code imprime

 2011-06-07 14:47:16.251 slots2[708:207] 

the string  (null)
 

où je fais l'erreur !! ??

167voto

Neelam Verma Points 1572

J'avais aussi le même problème. La solution que j'ai trouvée est (dans xcode 4.x):

Allez à: Cible -> "Phases de construction" -> "Copier les ressources du bundle" Ensuite, ajoutez ce fichier particulier ici. Si ce fichier est déjà ajouté, supprimez-le et ajoutez-le à nouveau.

nettoyer le projet et exécuter. Ça marche. :)

10voto

Yadnesh Points 512

Eh bien, j'ai découvert l'erreur que je commettais, j'ajoutais un groupe au projet au lieu d'ajouter un vrai répertoire pour plus d' instructions

10voto

Rajneesh071 Points 10459

Essayez ça, ça marche pour moi.

 NSString *str=[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"paylines.txt"];  
 

Pour simulateur

 NSURL *rtfUrl = [[NSBundle mainBundle] URLForResource:@"paylines" withExtension:@".txt"];
 

1voto

Hordaric Points 11

Allez dans "Target" -> "Build Phases", sélectionnez votre cible, sélectionnez l'onglet "Build Phases", cliquez sur "Add Build Phase" et sélectionnez "Add Copy Files". Modifiez la destination en "Répertoire des produits". Faites glisser votre fichier dans la section "Ajouter des fichiers".

1voto

user1544494 Points 69

Dans le cas de Mac OSX,

Allez dans Cibles -> Phases de construction, cliquez sur + pour copier les nouveaux fichiers phases de construction Sélectionnez le répertoire du produit et déposez-y le fichier.

Nettoyez et exécutez le projet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X