我一直无法使用UIImagePickerController
. 我可以捕捉静态照片甚至视频(这不是我的场景,但我只是为了确保而检查过),但相机无法捕捉实时照片。文档建议它应该(来源):
要获取用于显示的实时照片的运动和声音内容(使用 PHLivePhotoView 类),请在配置图像选择器控制器时在允许的媒体类型中包含 kUTTypeImage 和 kUTTypeLivePhoto 标识符。当用户选择或捕捉一张 Live Photo 时,editingInfo 字典包含 livePhoto 键,并带有照片的 PHLivePhoto 表示作为相应的值。
我已经设置了我的控制器:
let camera = UIImagePickerController()
camera.sourceType = .camera
camera.mediaTypes = [UTType.image.identifier, UTType.livePhoto.identifier]
camera.delegate = context.coordinator
在代表中,我检查了实时照片:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let live = info[.livePhoto] as? PHLivePhoto {
// handle live photo
} else if let takenImage = info[.originalImage] as? UIImage, let metadata = info[.mediaMetadata] as? [AnyHashable:Any] {
// handle still photo
}
}
但我从来没有得到实时照片。
我已经尝试增加它需要麦克风权限NSMicrophoneUsageDescription
的想法,但这并没有帮助。info.plist
当然,我已经添加了NSCameraUsageDescription
授予相机权限。
有没有人使用 成功捕获实时照片UIImagePickerController
?