2011-10-30 5 views
4

J'ai ceci:iOS: chemin du fichier NSString à NSURL

NSURL *url = [NSURL fileURLWithPath:@"/Users/myusername/Library/Application Support/iPhone Simulator/4.2/Applications/5ABF1395-4A80-46C0-BD4A-419ED98CE367/Documents/DBV/v.m4v"]; 

Je lance movieViewController mais il se bloque toujours .. Ce code ne fonctionne pas sur le simulateur d'iPhone ni sur l'appareil ... Comment Je le répare ?

EDIT: Avant d'écrire le chemin du fichier à la main, j'ai utilisé la manière correcte de sélectionner un dossier.

[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] 

Puis je me suis ce journal:

fichier

: // localhost/Users/myusername/Bibliothèque/Application% 20Support/iPhone% ou 20Simulat/4.2/Applications/5ABF1395-4A80-46C0 -BD4A-419ED98CE367/Documents/DBV/v.m4v

Je pensais que c'était à cause des espaces dans le nom du dossier, donc je décidé d'écrire le chemin complet à la main pour le débogage (remplaçant chaque 20% par l'espace)

EDIT 2: Remarque: J'essaie d'accéder à un fichier créé dynamiquement dans le dossier Documents, pas à un fichier de mon bundle.

+0

Peut-être que vous devez utiliser le bon chemin. –

+0

Je l'ai déjà vérifié. Merci quand même. – jlink

+0

Le chemin que vous avez cité est erroné. –

Répondre

2

Pour les fichiers dans les documents, vous devriez obtenir le chemin de NSSearchPathForDiriesInDomains.

//get list of document directories in sandbox 
NSArray *documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

//get one and only document directory from that list 
NSString *documentDirectory = [documentDirectories objectAtIndex: 0]; 

Ensuite, vous ajoutez le nom de fichier à cela.

+0

J'ai oublié de mentionner ce point mais c'est ce que j'ai fait. Puis j'ai reçu ce journal: file: //localhost/Users/myusername/Library/Application%20Support/iPhone%20Simulator/4.2/Applications/5ABF1395-4A80-46C0-BD4A-419ED98CE367/Documents/DBV/v.m4v Ensuite, je Je pensais que c'était à cause des espaces dans le nom du dossier, donc j'ai décidé d'écrire le chemin complet à la main (en remplaçant chaque% 20 par l'espace) – jlink

+0

Vous ne devriez pas coder les chemins du répertoire du document. Ils vont changer au moment de l'exécution en fonction de l'endroit où ils sont installés. – logancautrell

+0

Ok merci pour le conseil.Je pensais que le chemin était toujours le même quand je cours l'application avec le simulateur. – jlink