41 votes

pathForResource renvoie null

J'essaie de charger des fichiers .applescript dans mon projet.

Copiez-les dans le répertoire "Supporting Files" comme ceci :

entrez la description de l'image ici

et j'ai essayé d'y accéder :

 NSBundle *bundle = [NSBundle mainBundle];
NSLog(@"Resource path for test.applescript: %@", [bundle pathForResource:@"test" ofType:@"applescript"]);

pathForResource renvoie toujours null.

Les deux fichiers sont correctement importés dans xcode. L'adhésion cible est mon application. Les solutions à des questions similaires n'ont pas vraiment aidé

Qu'est-ce que je fais mal?

155voto

Zaph Points 40557

Dans la cible Xcode "Build Phases", ajoutez le fichier sous "Copy Bundle Resources"".

5voto

Ahmad Ishfaq Points 775

Pour tous ceux qui obtiennent toujours un chemin nul et que le fichier est ajouté dans "Copier les ressources de l'ensemble", supprimez simplement le fichier de Copier les ressources de l'ensemble, puis ajoutez-le à nouveau.

0voto

beryllium Points 18138

Votre image suppose-t-elle que ce fichier se trouve dans un dossier ?

Essayez la pathForResource:ofType:inDirectory: dans ce cas :

 NSLog(@"Resource path for test.applescript: %@", [bundle pathForResource:@"test" ofType:@"applescript" inDirectory:@"folder/Supporting Files");

0voto

Jon Points 2102

En plus de ce que Zaph a dit, assurez-vous que vous n'exécutez pas en mode « Release ».

Il fut un temps où j'oubliais de revenir en arrière et les symboles étaient supprimés, rendant ainsi NSBundle incapable de résoudre le chemin.

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