Подтвердить что ты не робот

Используя UIDocumentPickerViewController, можно ли показывать службу по умолчанию (Dropbox, Google Диск и т.д.) При первом открытии, как в Slack?

Обычно поведение с UIDocumentPicker заключается в том, что вы представляете, тогда пользователь должен использовать меню "Местоположения" в правом верхнем углу для переключения между службами. Можно ли по умолчанию отображать "Dropbox" или "Google Диск"? Почти так, как если бы мы были "deeplinking" в службу UIDocumentPicker.

Кажется, что Slack App может это сделать, а также приложение MyMail, но я не смог найти для него API. Любые идеи?

Slack App

4b9b3361

Ответ 1

Вместо использования UIDocumentPickerViewController попробуйте использовать UIDocumentMenuViewController. Вот соответствующая документация.

UIDocumentMenuViewController *documentProviderMenu =
[[UIDocumentMenuViewController alloc] initWithDocumentTypes:[self UTIs]
                                                     inMode:UIDocumentPickerModeImport];

documentProviderMenu.delegate = self;
[self presentViewController:documentProviderMenu animated:YES completion:nil];

По умолчанию в нем будут отображаться приложения, которые включают расширение поставщика документов (например, Dropbox, Google Drive, iCloud и т.д.). Поэтому, если на вашем устройстве установлен Dropbox или Google Диск, эти параметры будут отображаться автоматически.

Вы также можете добавить пользовательские параметры в меню, вызвав метод addOptionWithTitle:image:order:handler:.

Ответ 2

Пример кода Swift:

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)

Ответ 3

Это не касается Google Диска, но на прошлой задаче, которую мне нужно было показывать в Facebook, когда Apple SDK не показывал мне Facebook. (Ключевым случаем здесь была учетная запись пользователя Facebook не в настройках.)

Итак, я схватил их значок и сделал пользовательскую запись.

Я подозреваю, что вы можете сделать то же самое здесь. Возьмите значок Google Диска и сделайте этот заказный документ. Когда пользователь выбирает его, вы передаете его Google.

Это просто предположение, поскольку я не использовал UIDocumentPicker. А также, это довольно хаки.