Использование необъявленного идентификатора '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];
}
что с ним не так ?
спасибо
6 ответов:
вы должны добавить фреймворк 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) }
- Добавить MobileCoreServices.рамки, если они еще не добавлены. Выберите цель и добавьте связанные двоичные файлы с библиотекой.
- добавить
#import <MobileCoreServices/MobileCoreServices.h>
Если вы используете Свифт
import MobileCoreServicesИли С
#import <MobileCoreServices/MobileCoreServices.h>
Comments