Normally, the behavior with UIDocumentPicker is that you present, then the user must use the \"Locations\" menu on the top right to switch between the services. Is it possible t
Instead of using a UIDocumentPickerViewController, try using a UIDocumentMenuViewController. Here is the relevant documentation.
UIDocumentMenuViewController *documentProviderMenu =
[[UIDocumentMenuViewController alloc] initWithDocumentTypes:[self UTIs]
inMode:UIDocumentPickerModeImport];
documentProviderMenu.delegate = self;
[self presentViewController:documentProviderMenu animated:YES completion:nil];
By default, this will display apps that include a Document Provider extension (such as Dropbox, Google Drive, iCloud, etc.). So if a user has Dropbox or Google Drive installed on their device, these options would show up automatically.
You can also add custom options to the menu by calling the addOptionWithTitle:image:order:handler:
method.
Swift code example:
let documentProvider = UIDocumentMenuViewController(documentTypes: ["public.image", "public.audio", "public.movie", "public.text", "public.item", "public.content", "public.source-code"], in: .import)
documentProvider.delegate = self
self.present(documentProvider, animated: true, completion: nil)
This isn't specifically about Google Drive but at a past job I needed to display Facebook when Apple SDK wasn't showing me Facebook. (The edge case here was the user's Facebook account wasn't in Settings.)
So I grabbed their icon and made a custom entry.
I suspect that you could do the same here. Grab the Google Drive icon and make that a custom Document. And when the user selects it, you hand them off to Google.
This is just a guess since I've not used UIDocumentPicker. And also, it is quite hackish.