我正在尝试显示一个UIImagePickerController,它允许用户选择UIImage或PHLivePhoto。
import Photos
var imagePicker = UIImagePickerController()
if UIImagePickerController.isSourceTypeAvailable(.photoLibrary) {
imagePicker.delegate = self
imagePicker.sourceType = .savedPhotosAlbum
imagePicker.mediaTypes = ["kUTTypeImage","kUTTypeLivePhoto"]
}当显示视图控制器时,我得到以下错误:
由于“NSInvalidArgumentException”异常终止应用程序,原因:“源2没有可用类型”
发布于 2016-09-14 11:53:59
因此,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];
};希望这能有所帮助。
发布于 2016-09-14 11:49:22
var imag:UIImagePickerController?
print("Camera")
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.Camera){
print("Button capture")
self.imag = UIImagePickerController()
self.imag!.delegate = self
self.imag!.sourceType = UIImagePickerControllerSourceType.Camera
self.imag!.cameraDevice = UIImagePickerControllerCameraDevice.Front
self.imag!.mediaTypes = [kUTTypeImage as String]
self.imag!.allowsEditing = false
self.presentViewController(self.imag!, animated: true, completion: nil)
}
print("Gallery")
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary){
print("Button capture")
self.imag = UIImagePickerController()
self.imag!.delegate = self
self.imag!.sourceType = UIImagePickerControllerSourceType.PhotoLibrary;
//imag.mediaTypes = [kUTTypeImage];
self.imag!.allowsEditing = false
self.presentViewController(self.imag!, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
}https://stackoverflow.com/questions/39489448
复制相似问题