Hey there,
I have an app that allows picking any folder via UIDocumentPickerViewController. Up until iOS18 users were able to pick folders from connected servers (servers connected in the Files app) as well.
On iOS26, the picker allows for browsing into the connected servers, but the Select button is greyed out and does nothing when tapped.
Is this a known issue? This breaks the whole premise of my file syncronization application.
Absolutely, although it is not much of a test project: https://github.com/martonfarago/documentPickerTest Using this, I can pick a folder on an SMB share just fine under 18.7 but cannot under 26.1.
I've downloaded your sample project and, with two exceptions, I'm not able to replicate what you're describing. The two exceptions I found were:
-
When you initially navigate into a server, the list of shared returned can't be "opened". This happens because that list is artificially generated and doesn't actually exist in the file system.
-
I'm not sure what the exact criteria we're applying is, but I think what's happening is that we're only enabling "Open" in directories you can write to.
I'm not sure if #2 is new behavior or not, as I don't have an iOS 18 device handy to test it with, nor have I been able to find a specific bug/change that would have changed the behavior. So, a few points here:
-
Is the share you're testing with coming from macOS? If it's not macOS, what is it? Note that one of the issues here is that some NAS boxes are running particularly old versions of smb, which can end up creating odd edge cases.
-
Make sure you're specifically testing a location you know to be writable. As a note on that point, make sure you unmount/mount the share whenever you change permissions (or other state) on the server. There is significant caching throughout the API stack, and you want to make sure that state is cleared when you're testing.
In terms of #2, if you haven't already, then please file a bug on this and post the number back here. I'm not sure what the default behavior should be, but there should certainly be a way that your app can get access to directories it can't write to.
__
Kevin Elliott
DTS Engineer, CoreOS/Hardware