PHPicker: Cannot load representation of type public.movie

We're experiencing an issue on an iPhone 15 (iOS 17.1) where some video files can't be loaded from the results of a PHPickerViewController.

results[index].itemProvider.loadFileRepresentation(forTypeIdentifier: UTType.movie.identifier)

Gives error:

Cannot load representation of type public.movie

Video info (taken from Mac Finder):

H.264
MPEG-4 AAC
HD (1-1-1)
480x848px
Filetype .MP4

Origin: Recorded on iPhone 14, sent over WhatsApp, & auto saved from WhatsApp to an iPhone 15

The iPhone 15 has iCloud enabled and the videos failing are frequently viewed and used in testing, so are likely to be downloaded/cached locally.

I've tried changing the PHPickerConfiguration preferredAssetRepresentationMode to .current with no difference in the error.

I've also tried using the openInPlace alternative but it complains that it's not supported in the debug output.

Post not yet marked as solved Up vote post of Fordlum Down vote post of Fordlum
786 views
  • I've just tested the same videos on an iPhone 13 with iOS 16.6.1 and loadFileRepresentation is working, so this looks like an iOS 17 specific issue.

  • The issue happens when you save a video from WhatsApp to your phone's gallery. When you try to pick it using PHPicker, the system thinks it's a picture, not a video (it says the format is wrong, public.jpeg). This issue occurs on iOS 17+, but it works fine on iOS 15.7. It's a strange problem that seems to be only on iOS 17+ Can anyone help with this issue?

Add a Comment

Replies

Faced with the similar issue, reproducible only for iOS 17. Did anyone find the solution for the issue?

I'm having the same issue, any update?