MESSENGER-5872 fix select image on ios 15 simulator

This commit is contained in:
JanNiklas Grabowski
2024-04-15 15:47:02 +02:00
parent 23a695f930
commit 8c284796d3
@@ -196,10 +196,13 @@ extension SingleImagePickerPresenter: PHPickerViewControllerDelegate {
return
}
if itemProvider.canLoadObject(ofClass: UIImage.self) {
itemProvider.loadObject(ofClass: UIImage.self) { image, error in
// bwi: #5872 workaround for known issue (63426347) selection of images on iOS 15 (simulator)
let heicId = "public.heic"
if itemProvider.registeredTypeIdentifiers.contains(heicId) {
itemProvider.loadDataRepresentation(forTypeIdentifier: heicId) { imageData, error in
DispatchQueue.main.async {
if let image = image as? UIImage, let imageData = image.pngData() {
if let imageData = imageData, let image = UIImage(data: imageData), let imageData = image.pngData() {
let uti = MXKUTI(mimeType: "image/png")
self.delegate?.singleImagePickerPresenter(self, didSelectImageData: imageData, withUTI: uti)
} else {
@@ -208,7 +211,20 @@ extension SingleImagePickerPresenter: PHPickerViewControllerDelegate {
}
}
} else {
self.delegate?.singleImagePickerPresenterDidCancel(self)
if itemProvider.canLoadObject(ofClass: UIImage.self) {
itemProvider.loadObject(ofClass: UIImage.self) { image, error in
DispatchQueue.main.async {
if let image = image as? UIImage, let imageData = image.pngData() {
let uti = MXKUTI(mimeType: "image/png")
self.delegate?.singleImagePickerPresenter(self, didSelectImageData: imageData, withUTI: uti)
} else {
self.delegate?.singleImagePickerPresenterDidCancel(self)
}
}
}
} else {
self.delegate?.singleImagePickerPresenterDidCancel(self)
}
}
}
}