Sử dụng mã định danh không được khai báo 'kUTTypeMovie'


114

Tôi nhận được thông báo lỗi - Sử dụng số nhận dạng không được khai báo 'kUTTypeMovie'

trong đoạn mã dưới đây -

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

Có gì sai với nó?

Câu trả lời:


291

Bạn phải thêm khung MobileCoreServices vào dự án, sau đó nhập nó:

Mục tiêu C:

#import <MobileCoreServices/MobileCoreServices.h>

Điều đó sẽ làm cho vấn đề biến mất.

Swift 4:

import MobileCoreServices

1
@import MobileCoreServices;- cho Objective-C
Ganpat

37

nhanh

import MobileCoreServices

mục tiêu c

#import <MobileCoreServices/MobileCoreServices.h>

20

Tôi là người mới làm quen với phát triển iOS và xcode và đã dành thời gian cố gắng tìm hiểu tại sao chỉ nhập không hoạt động. Sau khi tìm ra vấn đề với một thành viên có kinh nghiệm hơn trong nhóm của tôi, tôi phát hiện ra rằng không chỉ bạn phải bao gồm

#import <MobileCoreServices/MobileCoreServices.h>

nhưng bạn cũng phải liên kết các tệp nhị phân với thư viện của khung MobileCoreServices với các giai đoạn xây dựng của dự án của bạn.

Hi vọng điêu nay co ich! Tôi chắc chắn cần thông tin này khi tôi làm việc này.


3

Câu trả lời Swift 4 , với mã máy quay video và đại biểu imagePicker:

import MobileCoreServices

Mở máy quay 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)
    }

Đại biểu 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)
}

0
  1. Thêm MobileCoreServices.framework nếu chưa được thêm. Chọn mục tiêu của bạn và thêm các tệp nhị phân được liên kết với thư viện.
  2. Thêm vào #import <MobileCoreServices/MobileCoreServices.h>

0

import MobileCoreServicesnhanh chóng
@import MobileCoreServices;cho mục tiêu c

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.