Post

Replies

Boosts

Views

Activity

PHPickerViewController fails to load image
I have been trying to load an image from the photo library on a swifui app. I am running Xcode 13.2.1 and building IOS 15.2 My code is as below     @Binding var image: UIImage?     func makeUIViewController(context: Context) -> PHPickerViewController {         var config = PHPickerConfiguration()         config.filter = .images         config.selectionLimit = 1         config.preferredAssetRepresentationMode = .compatible         let controller = PHPickerViewController(configuration: config)         controller.delegate = context.coordinator         return controller     }     func updateUIViewController(_ uiViewController: PHPickerViewController, context: Context) { }     func makeCoordinator() -> Coordinator {         Coordinator(self)     }     // Use a Coordinator to act as your PHPickerViewControllerDelegate     class Coordinator: NSObject, PHPickerViewControllerDelegate {         private let parent: PhotoPicker         init(_ parent: PhotoPicker) {             self.parent = parent         }         func picker(_ picker: PHPickerViewController, didFinishPicking results: [PHPickerResult]) {             picker.dismiss(animated: true)             print(results)             guard !results.isEmpty else {                 return             }             guard let itemProvider = results.first?.itemProvider else { return }             print("Invoking getPhoto")             self.getPhoto2(from: itemProvider)             //parent.didFinishPicking(!results.isEmpty)         }         private func getPhoto2(from itemProvider: NSItemProvider) {             print("getPhoto")                       if itemProvider.canLoadObject(ofClass: UIImage.self) {                 itemProvider.loadObject(ofClass: UIImage.self) { image, error in                     self.parent.image = image as? UIImage                     print("Loaded Image \(error)")                 }             }         } } } On the console I see the following error 022-01-27 00:40:01.485085-0500 Vescense[3174:884964] [Picker] Showing picker unavailable UI (reason: still loading) with error: (null) Further when I print the result I see [PhotosUI.PHPickerResult(itemProvider: <PUPhotosFileProviderItemProvider: 0x2818fc980> {types = (     "public.jpeg",     "public.heic" )}, assetIdentifier: nil)] It doesn't appear like the error on loadObject has a value. And it's suspicious that assetIdentifier is nil. Any thoughts on what I might be missing here would be most helpful.
6
2
6.5k
Jan ’22