Penggunaan pengenal 'kUTTypeMovie' yang tidak diumumkan


114

Saya mendapatkan pesan kesalahan - Penggunaan pengenal 'kUTTypeMovie' yang tidak dideklarasikan

dalam kode di bawah ini -

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

Apakah ada yang salah?

Jawaban:


291

Anda harus menambahkan kerangka kerja MobileCoreServices ke proyek, dan kemudian mengimpornya:

Tujuan C:

#import <MobileCoreServices/MobileCoreServices.h>

Itu akan membuat masalah hilang.

Cepat 4:

import MobileCoreServices

1
@import MobileCoreServices;- untuk Objective-C
Ganpat

37

cepat

import MobileCoreServices

tujuan c

#import <MobileCoreServices/MobileCoreServices.h>

20

Saya seorang pemula di pengembangan iOS dan xcode dan menghabiskan beberapa waktu mencoba mencari tahu mengapa impor saja tidak berfungsi. Setelah mencari tahu masalah dengan anggota tim saya yang lebih berpengalaman, saya menemukan bahwa Anda tidak hanya harus memasukkan

#import <MobileCoreServices/MobileCoreServices.h>

tetapi Anda juga harus menautkan biner ke pustaka framework MobileCoreServices ke fase build proyek Anda.

Semoga ini membantu! Saya pasti membutuhkan info ini ketika saya melakukan ini.


3

Jawaban Swift 4 , dengan kode kamera video dan delegasi imagePicker:

import MobileCoreServices

Buka Kamera 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)
    }

Delegasi 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. Tambahkan MobileCoreServices.framework jika belum ditambahkan. Pilih target Anda dan tambahkan biner tertaut dengan perpustakaan.
  2. Menambahkan #import <MobileCoreServices/MobileCoreServices.h>

0

import MobileCoreServicesuntuk cepat
@import MobileCoreServices;untuk tujuan c

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.