エラーメッセージが表示されます-未宣言の識別子 '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];
}
どうしたんだ?
フレームワークMobileCoreServicesをプロジェクトに追加してからインポートする必要があります。
目的C:
#import <MobileCoreServices/MobileCoreServices.h>
それは問題をなくします。
Swift 4:
import MobileCoreServices
スイフト
import MobileCoreServices
目的C
#import <MobileCoreServices/MobileCoreServices.h>
私はiOS開発とxcodeの初心者であり、インポートだけが機能しなかった理由を見つけるために時間を費やしました。私のチームの経験豊富なメンバーと問題を考えた後、私はあなたが含める必要があるだけでなく、
#import <MobileCoreServices/MobileCoreServices.h>
ただし、プロジェクトのビルドフェーズにMobileCoreServicesフレームワークのライブラリにバイナリをリンクする必要もあります。
お役に立てれば!私はこれをやっていたときにこの情報が必要でした。
Swift 4回答、ビデオカメラコードとimagePickerデリゲートを使用:
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)
}
#import <MobileCoreServices/MobileCoreServices.h>
import MobileCoreServices
for Swift@import MobileCoreServices;
Objective Cの場合