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>