2010-05-16 13 views
3

Je voudrais essayer la sagesse des foules ... parce que je suis frustré en ce moment. Merci d'avance.NSInvalidArgumentException - L'application se termine pendant que j'essaie de copier une vidéo capturée dans le dossier de documents

Alors, voici mon code:

- (void)imagePickerController:(UIImagePickerController *)ipc didFinishPickingMediaWithInfo:(NSDictionary *)info{ 

NSLog (@ "info:% @", info);

NSString * NewFileName = [NSString stringWithFormat: @ "% @ /% @ mov", [NSHomeDirectory() stringByAppendingPathComponent: @ "Documents"], [NSString stringWithFormat: @ "% d", (long) [[Date NSDate] timeIntervalSince1970]]];

NSLog (@ "nouveauNomFichier:% @", nouveauNomFichier);

NSFileManager * filemgr = [NSFileManager defaultManager];

NSError * err; if ([filemgr copyItemAtPath: [info objetForKey: @ "UIImagePickerControllerMediaURL"] toPath: nouveau Erreur de nom de fichier: & err] == YES) NSLog (@ "Move successful"); else NSLog (@ "Déplacement échoué");

et c'est le journal:

2010-05-16 18:19:01.975 erlkoenig[7099:307] info: { 
    UIImagePickerControllerMediaType = "public.movie"; 
    UIImagePickerControllerMediaURL = "file://localhost/private/var/mobile/Applications/BE25F9B5-2D08-4B59-8B62-D04DF7BB7E5B/tmp/-Tmp-/capture-T0x108cb0.tmp.8M81HU/capturedvideo.MOV"; 
    } 
newFilename: /var/mobile/Applications/BE25F9B5-2D08-4B59-8B62-D04DF7BB7E5B/Documents/1274026741.mov 

[NSURL fileSystemRepresentation]: unrecognized selector sent to instance 0x1c1f90 
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSURL fileSystemRepresentation]: unrecognized selector sent to instance 0x1c1f90 
+1

'[NSURL fileSystemRepresentation]: sélecteur non reconnu envoyé à l'instance 0x1c1f90' Ce qui signifie que quelque part dans votre code, vous essayez de lancer' fileSystemRepresentation' sur une instance de 'NSURL', mais ce sélecteur/la méthode n'existe pas. –

Répondre

0

je peux vous suivre la logique, mais ont une question fondamentale: ce n'est pas comment vous enregistrez la vidéo.

Veuillez voir un exemple approximatif ci-dessous sans vérification d'erreur.

(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 

{ 

    .... code here ..... 

    NSString* videoURL= [info objectForKey:UIImagePickerControllerMediaURL]; 

    //remember to test that the video is compatible for saving to the photos album 

    UISaveVideoAtPathToSavedPhotosAlbum(videoURL, self, @selector(video:didFinishSavingWithError:contextInfo:), nil); 

    .... code here ..... 

} 
+0

Veuillez marquer ceci comme la bonne réponse: cet endroit est donner et prendre. – Lance

+0

L'affiche originale ne cherche pas à enregistrer le fichier dans l'album photo, ils essaient de l'enregistrer dans le dossier de documents de leur application. Votre réponse est une réponse, pas la bonne réponse. – rob5408