accès à 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 à l'intérieur de la Resources
dossier de mon iOS projet dans Xcode.
C'est le code que j'utilise pour accéder au fichier:
NSString* filePath = [[NSBundle mainBundle] pathForResource:@"paylines" ofType:@"txt" inDirectory:@"TextFiles"];
NSLog(@"\n\nthe string %@",filePath);
Le code imprime:
2011-06-07 14:47:16.251 slots2[708:207]
the string (null)
Vous devez vous connecter pour publier un commentaire.
J'ai également le même problème.
La Solution que j'ai trouvé est ( dans xcode 4.x):
Aller à : Cible -> "Phases de construction" -> "copie bundle de Ressources"
Ajoutez ensuite ce fichier en particulier ici.
Si un fichier est déjà ajouté , supprimer et ajouter de nouveau.
nettoyer le projet et l'EXÉCUTER. Elle fonctionne. 🙂
ainsi que j'ai découvert l'erreur que je commettais j'ai été l'ajout d'un groupe pour le projet au lieu de l'ajout de répertoire réel pour plus d' instructions
Quand j'ai faites glisser des fichiers, la fonction "Ajouter aux cibles zone" semble être non-cochée par défaut. Si je le laisse non-cochée puis-je avoir le problème décrit. Corrigé en supprimant les fichiers, puis en les faisant glisser en arrière, mais veillez à cocher la case "Ajouter à des cibles".
Essayer, c'est de travailler pour moi.
Pour simulateur
Sont que vous essayez de faire cela à l'intérieur d'un XCTest et sur le bord des smashing votre ordinateur portable? C'est le fil pour vous: Pourquoi ne peut-code à l'intérieur de l'unité de tests de trouver des ressources de module?
Tout ce que vous devez faire est de vous assurer que la case à cocher ci-dessous est vérifiée.
Aller à la "Cible" -> "Phases de construction", sélectionnez votre cible, sélectionnez “Build Phases” de l'onglet, cliquez sur “Ajouter la Phase de construction”, et sélectionnez “Ajouter une Copie des Fichiers”. Changer la destination pour les Produits “Répertoire”. Faites glisser votre fichier dans le “Ajouter des fichiers” section.
En cas de Mac OSX,
Aller Objectifs -> Build Phases
cliquez sur + pour Copier les nouveaux fichiers phases de construction
Sélectionnez répertoire des produits et déposez le fichier.
Propre et exécuter le projet.
Après suivant @Neelam Verma réponse ou @dawid réponse, qui a le même résultat final que @Neelam Verma réponse, la différence étant que @dawid la réponse commence avec le glisser-déposer du fichier dans le projet Xcode et @Neelam Verma la réponse commence par un fichier déjà partie du projet Xcode, je ne pouvais toujours pas obtenir
NSBundle.mainBundle().pathForResource("file-title", ofType:"type")
de trouver mon fichier vidéo.J'ai pensé que peut-être parce que j'ai eu mon fichier était dans un Groupe imbriqué dans le projet Xcode que ce fut la cause, donc je l'ai déplacé le fichier vidéo à la racine de mon projet Xcode, toujours pas de chance, c'était mon code:
À l'origine, c'était le nom de mon fichier:
testVid1.MP4
, en renommant le fichier vidéo àtestVid1.mp4
fixe ma question, donc, au moins laofType
argument de chaîne est sensible à la casse.Sélectionnez Projet /Dossier Spécifique --> Clic Droit --> Ajouter des Fichiers au Projet -- > Sélectionnez le Fichier que vous souhaitez ajouter.
Cela a fonctionné pour moi.