I finally got some time to play around with this. My ultimate goal is to let users of 360 cameras pull files via a wire, which has to be a lot faster than using HTTP.
In any case, I have a few 360 cameras with micro-USB connectors. I can plug them into my Mac, and because the camera exposes its storage as a MS-FAT storage device, the Mac can examine the directories and see all the files.
I have a known good Lightning <-> USB-Micro cable (Insta brand, have used it to wire the Insta camera to my App as an External Accessory). When I plug the camera into the Mac, it flashes a blue LED to indicate a connection. When I plug the same camera into my iPhone, running the test app I wrote, it never appears in the Browser "Locations" list. I tried multiple cameras, restarting my app after the connection, etc. Never changes.
I'm now fearing that iOS cannot mount a FAT formatted storage device. Is all hope lost?
CODE:
let documentPicker = UIDocumentPickerViewController(forOpeningContentTypes: [UTType.directory, UTType.mpeg4Movie], asCopy: true) // ios14
documentPicker.delegate = self
documentPicker.allowsMultipleSelection = false
documentPicker.modalPresentationStyle = .fullScreen
present(documentPicker, animated: true, completion: nil)