Using the UIDocumentPickerViewController, is it possible to show a default service (Dropbox, Google Drive, etc) on first open like in Slack?

后端 未结 3 1862
青春惊慌失措
青春惊慌失措 2021-02-01 04:24

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

相关标签:
3条回答
  • 2021-02-01 05:02

    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.

    0 讨论(0)
  • 2021-02-01 05:03

    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)
    
    0 讨论(0)
  • 2021-02-01 05:14

    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.

    0 讨论(0)
提交回复
热议问题