A partir de la UIImagePickerControllerDelegate
référence de classe :
Pour enregistrer une image fixe dans l'appareil photo de l'utilisateur R UIImageWriteToSavedPhotosAlbum
à partir de la fonction bod imagePickerController:didFinishPickingMediaWithInfo:
méthode. Pour enregistrer un sur le disque dur de l'utilisateur, la caméra R UISaveVideoAtPathToSavedPhotosAlbum
fonction. Ces fonctions, décrites dans UIKit Function Reference, enregistrent uniquement l'image ou la vidéo ; elles ne sauvegardent pas les métadonnées.
Votre UIImagePickerControllerDelegate peut ressembler à ceci...
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info objectForKey:@"mediaType"];
if (![mediaType isEqualToString:kUTTypeMovie])
return;
NSURL *mediaURL = [info objectForKey:@"mediaURL"];
UISaveVideoAtPathToSavedPhotosAlbum(mediaURL.absoluteString, self, @selector(video:didFinishSavingWithError:contextInfo:), NULL);
}
- (void)video:(NSString *)videoPath didFinishSavingWithError:(NSError *)error contextInfo: (void *)contextInfo
{
if (!videoPath && error)
{
NSLog(@"Error saving video to saved photos roll: %@, %@", error, [error userInfo]);
// Handle error;
return;
}
// Video was saved properly. UI may need to be updated here.
}
Remarquez que j'ai implémenté le sélecteur d'achèvement pour UISaveVideoToSavedPhotosAlbum()
. S'il devait échouer pour une raison quelconque, l'erreur serait signalée ici et vous pourriez alors la traiter de manière appropriée.