我试图显示一个UIImagePickerController,它允许用户选择UIImage或PHLivePhoto。

import Photos

var imagePicker = UIImagePickerController()

if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {

     imagePicker.delegate = self
     imagePicker.sourceType = .savedPhotosAlbum

     imagePicker.mediaTypes = ["kUTTypeImage","kUTTypeLivePhoto"]
}

显示视图控制器时,出现以下错误:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“源2没有可用类型”

最佳答案

因此kUTTypeLivePhoto只在ios 9.1及更高版本中可用,所以您可能应该考虑进行版本检查。如果你

import MobileCoreServices

您可以直接使用kUTTypeLivePhoto和kUTTypeImage。
if #available(iOS 9.1, *) {
    picker.mediaTypes = [kUTTypeLivePhoto as String, kUTTypeImage as String
} else {
    picker.mediaTypes = [kUTTypeImage as String];
};

希望这有帮助。

07-24 09:22