Использование необъявленного идентификатора 'kUTTypeMovie'



Я получаю сообщение об ошибке - использование необъявленного идентификатора 'kUTTypeMovie'



в приведенном ниже коде -



-(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];
}


что с ним не так ?



спасибо

443   6  

6 ответов:

вы должны добавить фреймворк MobileCoreServices в проект, а затем импортировать его:

#import <MobileCoreServices/MobileCoreServices.h>

это сделает проблему уйти.

Свифт

import MobileCoreServices

С

#import <MobileCoreServices/MobileCoreServices.h>

Я новичок в разработке iOS и xcode и потратил некоторое время, пытаясь выяснить, почему просто импорт не работает. После выяснения проблемы с более опытным членом моей команды я узнал, что не только вы должны включить

#import <MobileCoreServices/MobileCoreServices.h>

но вы также должны связать двоичные файлы с библиотекой платформы MobileCoreServices для этапов сборки вашего проекта.

надеюсь, что это помогает! Я уверен, что нуждался в этой информации, когда я делал это.

Swift 4 ответ, с кодом видеокамеры и делегатом imagePicker:

import MobileCoreServices

Открыть Видеокамеру

   @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)
    }

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)
}
  1. Добавить MobileCoreServices.рамки, если они еще не добавлены. Выберите цель и добавьте связанные двоичные файлы с библиотекой.
  2. добавить #import <MobileCoreServices/MobileCoreServices.h>

Если вы используете Свифт

import MobileCoreServices

Или С

#import <MobileCoreServices/MobileCoreServices.h>

Comments

    Ничего не найдено.