我正在一个用户有个人资料图片的应用中工作。有人说的一句话是,当你打开图书馆时,没有显示实时图片。我尝试添加这样的媒体类型:
@IBAction func selectLibrary() {
let picker = UIImagePickerController()
picker.sourceType = .savedPhotosAlbum
picker.mediaTypes = ["kUTTypeImage","kUTTypeLivePhoto"]
picker.delegate = self
present(picker, animated: true)
}
然而,当我这样做时,我的应用程序崩溃了,它给了我以下错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'No available types for source 2'
这是在iPhone 7上测试的,运行iOS 11.0和运行iOS 11.2的iPhone 8 +
是否有一些我遗漏的东西,或许在尝试使用实时照片时忘记了一些额外的步骤?
感谢。
答案 0 :(得分:2)
字符串与常量不同。你的代码说:
picker.mediaTypes = ["kUTTypeImage","kUTTypeLivePhoto"]
这些不是有效的媒体类型。你想要使用的是常数:
picker.mediaTypes = [kUTTypeLivePhoto as String, kUTTypeImage as String]
您需要import MobileCoreServices
才能使用常量。