Use of undeclared identifier 'kUTTypeMovie'

后端 未结 6 1606
傲寒
傲寒 2020-12-13 16:32

I am getting the error message - Use of undeclared identifier \'kUTTypeMovie\'

in the below code -

-(IBAction)selectVideo:(id)sende         


        
相关标签:
6条回答
  • 2020-12-13 17:08

    import MobileCoreServices for swift
    @import MobileCoreServices; for objective c

    0 讨论(0)
  • 2020-12-13 17:09

    You have to add the framework MobileCoreServices to the project, and then import it:

    Objective C:

    #import <MobileCoreServices/MobileCoreServices.h>
    

    That will make the problem go away.

    Swift 4:

    import MobileCoreServices
    
    0 讨论(0)
  • 2020-12-13 17:11

    I am a novice at iOS development and xcode and spent some time trying to find out why just the import was not working. After figuring out the problem with a more experienced member of my team I found out that not only must you include

    #import <MobileCoreServices/MobileCoreServices.h>
    

    but you must also link binaries to the library of the MobileCoreServices framework to the build phases of your project.

    Hope this helps! I sure needed this info when I was doing this.

    0 讨论(0)
  • 2020-12-13 17:13

    swift

    import MobileCoreServices
    

    objective c

    #import <MobileCoreServices/MobileCoreServices.h>
    
    0 讨论(0)
  • 2020-12-13 17:16

    Swift 4 answer, with video camera code and imagePicker delegate:

    import MobileCoreServices
    

    Open Video Camera

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

    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 讨论(0)
  • 2020-12-13 17:25
    1. Add MobileCoreServices.framework if not added already. Select your target and add linked binaries with library.
    2. Add #import <MobileCoreServices/MobileCoreServices.h>
    0 讨论(0)
提交回复
热议问题