使用未声明标识符‘ 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];
}

有什么问题吗?

53512 次浏览

您必须将框架 MobileCoreServices 添加到项目中,然后导入它:

目标丙:

#import <MobileCoreServices/MobileCoreServices.h>

这样问题就解决了。

迅捷4:

import MobileCoreServices

我在 iOS 开发和 xcode 方面是个新手,我花了一些时间试图找出导入不起作用的原因。在与我的团队中一位更有经验的成员解决了这个问题之后,我发现你不仅必须包括

#import <MobileCoreServices/MobileCoreServices.h>

但是您还必须将二进制文件链接到 MobileCoreServices 框架的库,并将其链接到项目的构建阶段。

希望这能有所帮助! 我确实需要这个信息,当我这样做。

迅速

import MobileCoreServices

目标 c

#import <MobileCoreServices/MobileCoreServices.h>

Swift 4 回答:

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.Framework (如果还没有添加的话)。选择目标并使用库添加链接二进制文件。
  2. 加入 #import <MobileCoreServices/MobileCoreServices.h>

import MobileCoreServices代表迅捷
目标 c 的 @import MobileCoreServices;