Verwendung des nicht deklarierten Bezeichners 'kUTTypeMovie'


114

Ich erhalte die Fehlermeldung - Verwendung des nicht deklarierten Bezeichners 'kUTTypeMovie'

im folgenden Code -

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

Was stimmt damit nicht?

Antworten:


291

Sie müssen das Framework MobileCoreServices zum Projekt hinzufügen und dann importieren:

Ziel c:

#import <MobileCoreServices/MobileCoreServices.h>

Dadurch wird das Problem behoben.

Swift 4:

import MobileCoreServices

1
@import MobileCoreServices;- für Objective-C
Ganpat

37

schnell

import MobileCoreServices

Ziel c

#import <MobileCoreServices/MobileCoreServices.h>

20

Ich bin ein Neuling in der iOS-Entwicklung und im Xcode und habe einige Zeit damit verbracht herauszufinden, warum nur der Import nicht funktioniert hat. Nachdem ich das Problem mit einem erfahreneren Mitglied meines Teams herausgefunden hatte, stellte ich fest, dass Sie nicht nur einbeziehen müssen

#import <MobileCoreServices/MobileCoreServices.h>

Sie müssen jedoch auch Binärdateien mit der Bibliothek des MobileCoreServices-Frameworks mit den Erstellungsphasen Ihres Projekts verknüpfen.

Hoffe das hilft! Ich brauchte diese Informationen wirklich, als ich das tat.


3

Swift 4- Antwort mit Videokamera-Code und imagePicker-Delegat:

import MobileCoreServices

Videokamera öffnen

   @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-Delegierter:

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. Fügen Sie MobileCoreServices.framework hinzu, falls dies noch nicht geschehen ist. Wählen Sie Ihr Ziel aus und fügen Sie verknüpfte Binärdateien mit Bibliothek hinzu.
  2. Hinzufügen #import <MobileCoreServices/MobileCoreServices.h>

0

import MobileCoreServicesfür schnell
@import MobileCoreServices;für Ziel c

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.