I see a lot of misinformation repeated about PHPickerViewController and UIImagePickerController (including from Apple).

UIImagePickerController hasn’t required the app to have permission to access the photo library since iOS 11. For picking a single image, it provides exactly the same user experience as PHPickerViewController, including supporting search.

PHPickerViewController does offer a slightly more granular callback API so the image can load without blocking the user.

If your app requires iOS 14 or you need multiple selection, use PHPickerViewController. If you support older versions, I think there’s little benefit having conditional code paths to support both pickers.