tutorial ios cocoa-touch

ios - cocoa touch tutorial



Uso del identificador no declarado ''kUTTypeMovie'' (4)

Debe agregar el marco MobileCoreServices al proyecto y luego importarlo:

#import <MobileCoreServices/MobileCoreServices.h>

Eso hará que el problema desaparezca.

Recibo el mensaje de error: uso del identificador no declarado ''kUTTypeMovie''

en el código a continuación -

-(IBAction)selectVideo:(id)sender { UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; imagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; imagePicker.mediaTypes = [[NSArray alloc] initWithObjects:(NSString *)kUTTypeMovie, nil]; imagePicker.delegate = self; [self presentModalViewController:imagePicker animated:YES]; }

¿Qué pasa con eso?

Gracias


Respuesta de Swift 4 , con código de cámara de video y delegado de imagePicker:

import MobileCoreServices

Abrir la cámara de video

@IBAction func openVideoCamera(_ sender: Any) { if UIImagePickerController.isSourceTypeAvailable(.camera) { let imagePicker = UIImagePickerController() imagePicker.delegate = self imagePicker.sourceType = .camera imagePicker.mediaTypes = [kUTTypeMovie as String] imagePicker.videoMaximumDuration = 10 // or whatever you want imagePicker.videoQuality = .typeMedium imagePicker.allowsEditing = false present(imagePicker, animated: true, completion: nil) }

Delegado de ImagePicker:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) { let mediaType = info[UIImagePickerControllerMediaType] as AnyObject if mediaType as! String == kUTTypeMovie as String { let videoURL = info[UIImagePickerControllerMediaURL] as? URL print("VIDEO URL: /(videoURL!)") } dismiss(animated: true, completion: nil) }


Soy un principiante en el desarrollo de iOS y xcode y pasé un tiempo tratando de descubrir por qué solo la importación no funcionaba. Después de descubrir el problema con un miembro más experimentado de mi equipo, descubrí que no solo debes incluir

#import <MobileCoreServices/MobileCoreServices.h>

pero también debe vincular los archivos binarios a la biblioteca del marco MobileCoreServices con las fases de compilación de su proyecto.

¡Espero que esto ayude! Realmente necesitaba esta información cuando estaba haciendo esto.


rápido

import MobileCoreServices

C objetivo

#import <MobileCoreServices/MobileCoreServices.h>